文件管理 · 2024年8月23日

java读取txt文件写进文件|java读取、修改、写入txt文件

『壹』 java怎样实现读写TXT文件

主要有用到java原生态的Io类,没有第三个包。直接上代码:

importjava.io.*;publicclasswrite{publicstaticvoidmain(String[]args){write("E://123.txt","hello");}publicstaticvoidwrite(Stringpath,Stringcontent){try{Filef=newFile(path);if(f.exists()){System.out.println("文件存在");}else{System.out.println("文件不存在,正在创建…");if(f.createNewFile()){System.out.println("文件创建成功!");}else{System.out.println("文件创建失败!");}}BufferedWriteroutput=newBufferedWriter(newFileWriter(f));output.write(content);output.close();}catch(Exceptione){e.printStackTrace();}}}

『贰』 Java如何实现读取一个txt文件的所有内容,然后提取所需的部分并把它写入到另一个txt文件中

代码如下:

importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.util.ArrayList;importjava.util.List;publicclassApp{/***保存list到指定文件*@paramlist*@paramfilePath*@throwsIOException*@throwsFileNotFoundException*/staticvoidsave(List<String>list,StringfilePath)throwsFileNotFoundException,IOException{try(FileOutputStreamoutputStream=newFileOutputStream(filePath);=newOutputStreamWriter(outputStream);BufferedWriterwriter=newBufferedWriter(streamWriter)){for(Stringline:list){writer.write(line+System.lineSeparator());}}}publicstaticvoidmain(String[]args)throwsIOException{List<String>list1=newArrayList<>();List<String>list2=newArrayList<>();List<String>list3=newArrayList<>();Filefile=newFile("d:/temp/0.txt");try(FileInputStreamstream=newFileInputStream(file);InputStreamReaderstreamReader=newInputStreamReader(stream);BufferedReaderreader=newBufferedReader(streamReader)){Stringline="";while((line=reader.readLine())!=null){//去除开始的数字line=line.replaceFirst("\d+","");if(line.contains("Organ")){//包含Organ放入list1list1.add(line);}elseif(line.contains("Location")){//包含Location放入list2list2.add(line);}elseif(line.contains("Person")){//包含Person放入list3list3.add(line);}}}if(!list1.isEmpty()){save(list1,"d:/temp/1.txt");}if(!list2.isEmpty()){save(list2,"d:/temp/2.txt");}if(!list3.isEmpty()){save(list3,"d:/temp/3.txt");}}}

『叁』 java 中简述使用流进行读写文本文件的步骤

读写是两个不同的分支,通常都是分开单独使用的。

可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。BufferedReader bre = null;try {String file = "D:/test/test.txt";bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环{System.out.println(str);//原样输出读到的内容};备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。

可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:

OutputStreamWriter pw = null;//定义一个流pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次writepw.close();//关闭流备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。

『肆』 java如何从数据库读取数据并写入txt文件

写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂!

[java]viewplainpackagee.thu.keyword.test;importjava.io.File;importjava.io.InputStreamReader;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.FileInputStream;importjava.io.FileWriter;publicclasscin_txt{staticvoidmain(Stringargs[]){try{//防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw/*读入TXT文件*/Stringpathname="D:\twitter\13_9_6\dataset\en\input.txt";//绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径Filefilename=newFile(pathname);//要读取以上路径的input。txt文件InputStreamReaderreader=newInputStreamReader(newFileInputStream(filename));//建立一个输入流对象readerBufferedReaderbr=newBufferedReader(reader);//建立一个对象,它把文件内容转成计算机能读懂的语言Stringline="";line=br.readLine();while(line!=null){line=br.readLine();//一次读入一行数据}/*写入Txt文件*/Filewritename=newFile(".\result\en\output.txt");//相对路径,如果没有则要建立一个新的output。txt文件writename.createNewFile();//创建新文件BufferedWriterout=newBufferedWriter(newFileWriter(writename));out.write("我会写入文件啦");//即为换行out.flush();//把缓存区内容压入文件out.close();//最后记得关闭文件}catch(Exceptione){e.printStackTrace();}}}

『伍』 java读取、修改、写入txt文件

Java IO系统里读写文件使用和Writer两个抽象类,Reader中read()和close()方法都是抽象方法。Writer中 write(),flush()和close()方法为抽象方法。子类应该分别实现他们。Java IO已经为我们提供了三个方便的Reader的实现类,FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等。FileReader读txt文件例子FileReader fr = new FileReader("D:/Test.txt"); int ch = 0; while((ch = fr.read())!=-1 ){ System.out.print( (char)ch ); } 其中read()方法返回的是读取得下个字符。InputStreamReader读txt文件例子InputStream is = new FileInputStream(new File("D:/Test.txt")); InputStreamReader fr = new InputStreamReader(is); int ch = 0; while((ch = fr.read())!=-1 ){ System.out.print((char)ch); } 这和FileReader并没有什么区别,事实上在FileReader中的方法都是从InputStreamReader中继承过来的。 read()方法是比较好费时间的,如果为了提高效率,我们可以使用BufferedReader对Reader进行包装,这样可以提高读取得速度,我们可以一行一行的读取文本,使用 readLine()方法。BufferedReader br = new BufferedReader(new FileReader("Test.txt"))); String data = br.readLine();//一次读入一行,直到读入null为文件结束 while( data!=null){ System.out.println(data); data = br.readLine(); //接着读下一行 } 当你明白了如何用Reader来读取文本文件的时候那么用Writer写文件同样非常简单。有一点需要注意,当你写文件的时候,为了提高效率,写入的数据会先放入缓冲区,然后写入文件。因此有时候你需要主动调用flush()方法。有读就有写,写文本文件可以使用PrintWriter,FileWriter,BufferedWriter。FileWriter fw = new FileWriter("D:/Test.txt"); String s = "hello world"; fw.write(s,0,s.length()); fw.flush(); OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("D:/Test1.txt")); osw.write(s,0,s.length()); osw.flush(); PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("D:/Test2.txt")),true); pw.println(s); fw.close(); osw.close(); pw.close(); 如果想接着写入某个文件。 声明时FileWriter fw = new FileWriter("log.txt",true);加个true就可以了。File file = new File("D:/Test.txt"); File dest = new File("D:/new.txt"); try { BufferedReader reader = new BufferedReader(new FileReader(file)); BufferedWriter writer = new BufferedWriter(new FileWriter(dest)); String line = reader.readLine(); while(line!=null){ writer.write(line); line = reader.readLine(); } writer.flush(); reader.close(); writer.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }

『陆』 java中如何从txt文件中一行一行读取汉字,再存到另一txt文件中

BufferedReader一行一行的读

PrintWriter一行一行的写

try(BufferedReaderreader=Files.newBufferedReader(Paths.get("D:\Temp","天下无双.txt"),Charset.forName("GBK"));PrintWriterwriter=newPrintWriter("D:\Temp\天下无双U.txt","UTF-8")){for(Stringline=reader.readLine();line!=null;line=reader.readLine()){writer.println(line);}}catch(IOExceptionxe){System.err.println(xe.getMessage());}

『柒』 用java语言编写程序,把一个已存在的txt文件读出来并写进另一个txt文件中.

importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;publicclassCopyDemo{publicstaticvoidmain(String[]args)throwsException{//选择你要读取的文件FileInputStreamfis=newFileInputStream("E:\圣彼得的送葬队伍下.txt");//选择你要存放的文件FileOutputStreamfos=newFileOutputStream("E:\.txt");//byte[]buf=newbyte[1024];//BufferedReaderbufr=newBufferedReader(buf);intlen;while((len=fis.read())!=-1){fos.write(len);}fis.close();fos.close();}}