首页编程java编程java里data是什么文件怎么打开?Java读取文件问题

java里data是什么文件怎么打开?Java读取文件问题

编程之家2023-10-1293次浏览

大家好,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"两个文件夹中内容。

java里data是什么文件怎么打开?Java读取文件问题

C:\Users\Administrator\Desktop打不开是因为当前用户不是Administrator。

工具/材料:以win10系统为例。

1、首先在桌面上,点击“此电脑”图标。

java里data是什么文件怎么打开?Java读取文件问题

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是什么文件怎么打开的内容到此结束,希望对大家有所帮助。

java heap 放什么数据 Java方法区和堆分别储存什么坐井观天是什么生肖(十二生肖坐井观天是什么生肖)