java里data是什么文件怎么打开?Java读取文件问题
大家好,java里data是什么文件怎么打开相信很多的网友都不是很明白,包括Java读取文件问题也是一样,不过没有关系,接下来就来为大家分享关于java里data是什么文件怎么打开和Java读取文件问题的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
C:\Users\Administrator\Desktop是什么意思怎么打不开了
C:\Users\Administrator\Desktop意思是位置为C盘中当前用户为Administrator里的桌面文件夹。
桌面文件夹一般位于相应的用户文件夹中,假设为Windows 7系统,并且安装在C盘,当前用户为Administrator,则Administrator的桌面文件夹位置为“C:\Users\Administrator\Desktop”。
另外,在默认状态下,用户名为Administrator的桌面还会继承“ALL USERS”和"DEFAULT USERS"两个文件夹中内容。
C:\Users\Administrator\Desktop打不开是因为当前用户不是Administrator。
工具/材料:以win10系统为例。
1、首先在桌面上,点击“此电脑”图标。
2、然后在该界面中,点击左侧的“桌面”选项。
3、最后在该界面中,顶部地址栏中显示桌面文件位置。
扩展资料:
习惯上用户都会把比较常用的重要的文档放在桌面便于操作,但这样也造成了不便,在不清楚状况的时候被重装了系统,特别是用克隆(ghost)就极可能造成数据丢失了,在这种情况下,用户就有必要对桌面文件夹的位置进行一下移动了。
如果只是剪切桌面的目录,直接粘贴到其他的分区,并不能真正移动桌面文件夹所在位置。因为桌面所在文件夹还受到注册表中多个注册表项影响。强制移动桌面所在文件夹位置可能会造成无法登录Windows、不能创建宽带连接等错误。
Java读取文件问题
使用Java操作文本文件的方法详解
摘要:最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类
最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer中 write(char[] ch,int off,int
length),flush()和close()方法为抽象方法,Reader中read(char[] ch,int off,int length)和close()方法是抽象方法。子类应该分别实现他们。当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader,它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等。当使用FileReader读取文件的时候。FileReader fr= new FileReader("ming.txt");
int ch= 0;
while((ch= fr.read())!=-1)
{
System.out.print((char)ch);
}
其中read()方法返回的是读取得下个字符。当然你也可以使用read(char[] ch,int off,int length)这和处理二进制文件的时候类似,不多说了。如果使用InputStreamReader来读取文件的时候while((ch= isr.read())!=-1)
{
System.out.print((char)ch);
}
这和FileReader并没有什么区别,事实上在FileReader中的方法都是从InputStreamReader中继承过来的。read()方法是比较好费时间的,如果为了提高效率我们可以使用BufferedReader对Reader进行包装,这样可以提高读取得速度,我们可以一行一行的读取文本,使用readLine()方法。BufferedReader br= new BufferedReader(new InputStreamReader(new FileInputStream("ming.txt")));
String data= null;
while((data= br.readLine())!=null)
{
System.out.println(data);
}
当你明白了如何用Reader来读取文本文件的时候那么用Writer写文件同样非常简单。有一点需要注意,当你写文件的时候,为了提高效率,写入的数据会先放入缓冲区,然后写入文件。因此有时候你需要主动调用flush()方法。与上面对应的写文件的方法为:
FileWriter fw= new FileWriter("hello.txt");
String s="hello world";
fw.write(s,0,s.length());
fw.flush();OutputStreamWriter osw= new OutputStreamWriter(new FileOutputStream("hello2.txt"));
osw.write(s,0,s.length());
osw.flush();PrintWriter pw= new PrintWriter(new OutputStreamWriter(new FileOutputStream("hello3.txt")),true);
pw.println(s);
不要忘记用完后关闭流!下面是个小例子,帮助新手理解。其实有的时候java的IO系统是需要我们多记记的,不然哪天就生疏了。
import java.io.*;public class TestFile2
{
public static void main(String[] args) throws IOException
{
FileReader fr= new FileReader("ming.txt");
char[] buffer= new char[1024];
int ch= 0;
while((ch= fr.read())!=-1)
{
System.out.print((char)ch);
} InputStreamReader isr= new InputStreamReader(new FileInputStream("ming.txt"));
while((ch= isr.read())!=-1)
{
System.out.print((char)ch);
} BufferedReader br= new BufferedReader(new InputStreamReader(new FileInputStream("ming.txt")));
String data= null;
while((data= br.readLine())!=null)
{
System.out.println(data);
} FileWriter fw= new FileWriter("hello.txt");
String s="hello world";
fw.write(s,0,s.length());
fw.flush(); OutputStreamWriter osw= new OutputStreamWriter(new FileOutputStream("hello2.txt"));
osw.write(s,0,s.length());
osw.flush(); PrintWriter pw= new PrintWriter(new OutputStreamWriter(new FileOutputStream("hello3.txt")),true);
pw.println(s);
fr.close();
isr.close();
br.close();
fw.close();
osw.close();
pw.close();
}
}
java中多种方式读文件
一、多种方式读文件内容。
1、按字节读取文件内容
2、按字符读取文件内容
3、按行读取文件内容
4、随机读取文件内容
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.io.Reader;
public class ReadFromFile{
/**
*以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
*@param fileName文件的名
*/
public static void readFileByBytes(String fileName){
File file= new File(fileName);
InputStream in= null;
try{
System.out.println("以字节为单位读取文件内容,一次读一个字节:");
//一次读一个字节
in= new FileInputStream(file);
int tempbyte;
while((tempbyte=in.read())!=-1){
System.out.write(tempbyte);
}
in.close();
} catch(IOException e){
e.printStackTrace();
return;
}
try{
System.out.println("以字节为单位读取文件内容,一次读多个字节:");
//一次读多个字节
byte[] tempbytes= new byte[100];
int byteread= 0;
in= new FileInputStream(fileName);
ReadFromFile.showAvailableBytes(in);
//读入多个字节到字节数组中,byteread为一次读入的字节数
while((byteread= in.read(tempbytes))!=-1){
System.out.write(tempbytes, 0, byteread);
}
} catch(Exception e1){
e1.printStackTrace();
} finally{
if(in!= null){
try{
in.close();
} catch(IOException e1){
}
}
}
}
/**
*以字符为单位读取文件,常用于读文本,数字等类型的文件
*@param fileName文件名
*/
public static void readFileByChars(String fileName){
File file= new File(fileName);
Reader reader= null;
try{
System.out.println("以字符为单位读取文件内容,一次读一个字节:");
//一次读一个字符
reader= new InputStreamReader(new FileInputStream(file));
int tempchar;
while((tempchar= reader.read())!=-1){
//对于windows下,rn这两个字符在一起时,表示一个换行。
//但如果这两个字符分开显示时,会换两次行。
//因此,屏蔽掉r,或者屏蔽n。否则,将会多出很多空行。
if(((char)tempchar)!='r'){
System.out.print((char)tempchar);
}
}
reader.close();
} catch(Exception e){
e.printStackTrace();
}
try{
System.out.println("以字符为单位读取文件内容,一次读多个字节:");
//一次读多个字符
char[] tempchars= new char[30];
int charread= 0;
reader= new InputStreamReader(new FileInputStream(fileName));
//读入多个字符到字符数组中,charread为一次读取字符数
while((charread= reader.read(tempchars))!=-1){
//同样屏蔽掉r不显示
if((charread== tempchars.length)&&(tempchars[tempchars.length-1]!='r')){
System.out.print(tempchars);
}else{
for(int i=0; i<charread; i++){
if(tempchars[i]=='r'){
continue;
}else{
System.out.print(tempchars[i]);
}
}
}
}
} catch(Exception e1){
e1.printStackTrace();
}finally{
if(reader!= null){
try{
reader.close();
} catch(IOException e1){
}
}
}
}
/**
*以行为单位读取文件,常用于读面向行的格式化文件
*@param fileName文件名
*/
public static void readFileByLines(String fileName){
File file= new File(fileName);
BufferedReader reader= null;
try{
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader= new BufferedReader(new FileReader(file));
String tempString= null;
int line= 1;
//一次读入一行,直到读入null为文件结束
while((tempString= reader.readLine())!= null){
//显示行号
System.out.println("line"+ line+":"+ tempString);
line++;
}
reader.close();
} catch(IOException e){
e.printStackTrace();
} finally{
if(reader!= null){
try{
reader.close();
} catch(IOException e1){
}
}
}
}
/**
*随机读取文件内容
*@param fileName文件名
*/
public static void readFileByRandomAccess(String fileName){
RandomAccessFile randomFile= null;
try{
System.out.println("随机读取一段文件内容:");
//打开一个随机访问文件流,按只读方式
randomFile= new RandomAccessFile(fileName,"r");
//文件长度,字节数
long fileLength= randomFile.length();
//读文件的起始位置
int beginIndex=(fileLength> 4)? 4: 0;
//将读文件的开始位置移到beginIndex位置。
randomFile.seek(beginIndex);
byte[] bytes= new byte[10];
int byteread= 0;
//一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。
//将一次读取的字节数赋给byteread
while((byteread= randomFile.read(bytes))!=-1){
System.out.write(bytes, 0, byteread);
}
} catch(IOException e){
e.printStackTrace();
} finally{
if(randomFile!= null){
try{
randomFile.close();
} catch(IOException e1){
}
}
}
}
/**
*显示输入流中还剩的字节数
*@param in
*/
private static void showAvailableBytes(InputStream in){
try{
System.out.println("当前字节输入流中的字节数为:"+ in.available());
} catch(IOException e){
e.printStackTrace();
}
}
public static void main(String[] args){
String fileName="C:/temp/newTemp.txt";
ReadFromFile.readFileByBytes(fileName);
ReadFromFile.readFileByChars(fileName);
ReadFromFile.readFileByLines(fileName);
ReadFromFile.readFileByRandomAccess(fileName);
}
}
二、将内容追加到文件尾部
import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
*将内容追加到文件尾部
*/
public class AppendToFile{
/**
* A方法追加文件:使用RandomAccessFile
*@param fileName文件名
*@param content追加的内容
*/
public static void appendMethodA(String fileName,
String content){
try{
//打开一个随机访问文件流,按读写方式
RandomAccessFile randomFile= new RandomAccessFile(fileName,"rw");
//文件长度,字节数
long fileLength= randomFile.length();
//将写文件指针移到文件尾。
randomFile.seek(fileLength);
randomFile.writeBytes(content);
randomFile.close();
} catch(IOException e){
e.printStackTrace();
}
}
/**
* B方法追加文件:使用FileWriter
*@param fileName
*@param content
*/
public static void appendMethodB(String fileName, String content){
try{
//打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
FileWriter writer= new FileWriter(fileName, true);
writer.write(content);
writer.close();
} catch(IOException e){
e.printStackTrace();
}
}
public static void main(String[] args){
String fileName="C:/temp/newTemp.txt";
String content="new append!";
//按方法A追加文件
AppendToFile.appendMethodA(fileName, content);
AppendToFile.appendMethodA(fileName,"append end. n");
//显示文件内容
ReadFromFile.readFileByLines(fileName);
//按方法B追加文件
AppendToFile.appendMethodB(fileName, content);
AppendToFile.appendMethodB(fileName,"append end. n");
//显示文件内容
ReadFromFile.readFileByLines(fileName);
}
}
java 对文件进行操作file和datasoure有什么不同
看 data source接口/类提供了什么方法就知道了。
使用 data source是推迟读取内容的过程。比如发送一个邮件附件,我们设置好附件之后并不是立即就读取文件,而等到 smtp准备发送邮件时要编码附件的时候才来读取内容,这个过程推迟了。
因此在设计中我们要意识到 data source这个接口的约定,我们不能以为创建好一封邮件后内容就已经读取完成了,如果我们在发送邮件完成之前就把磁盘上的文件删除了就会出错的。
另外 Data Source情况中也有类似的设计约定,例如它的 DataSource中指明了 mime type可以用在某个程序处理过程中了解文件类型,而普通的 file方式我们并不知道 mime type文件类型,就无法按具体类型处理文件,比如普通的 text文件直接把内容按 ASCII编码就可以了但二进制文件(如图片等)就要按 base64编码。
关于java里data是什么文件怎么打开的内容到此结束,希望对大家有所帮助。