ioJava读取文件
❶ java io流中哪些流可以获取文件内容
可以通过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流会一直存在,直到程序运行结束。
❷ java根据路径读取文件
其读取方法为:
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.util.ArrayList;
publicclassreadFile{
privatestaticArrayList<String>listname=newArrayList<String>();
publicstaticvoidmain(String[]args)throwsException{
readAllFile("C:/Users/HP/Desktop");
System.out.println(listname.size());
}
publicstaticvoidreadAllFile(Stringfilepath){
Filefile=newFile(filepath);
if(!file.isDirectory()){
listname.add(file.getName());
}elseif(file.isDirectory()){
System.out.println("文件");
String[]filelist=file.list();
for(inti=0;i<filelist.length;i++){
Filereadfile=newFile(filepath);
if(!readfile.isDirectory()){
listname.add(readfile.getName());
}elseif(readfile.isDirectory()){
readAllFile(filepath+"\"+filelist[i]);//递归
}
}
}
for(inti=0;i<listname.size();i++){
System.out.println(listname.get(i));
}
}
}
❸ Java中对文件进行读写操作的基本类是什么
Java.io包中包括许多类提供许多有关文件的各个方面操作。x0dx0a1 输入输出抽象基类InputStream/OutputStream ,实现文件内容操作的基本功能函数read()、 write()、close()、skip()等;一般都是创建出其派生类对象(完成指定的特殊功能)来实现文件读写。在文件读写的编程过程中主要应该注意异常处理的技术。 x0dx0a2 FileInputStream/FileOutputStream: x0dx0a用于猛磨御本地文件读写(二进制格式读写并且是顺序读写,读和写要分别创建出不同的文件流对象); x0dx0a本地文件读写编程的基本过程为: x0dx0a① 生成文件流对象(对文件读操作时应该为FileInputStream类,而文件写应该为FileOutputStream类); x0dx0a② 调用FileInputStream或FileOutputStream类中的功能函数如read()、write(int b)等)读写文件内容; x0dx0a③ 关闭文件(close())。 x0dx0a3 PipedInputStream/PipedOutputStream: x0dx0a用于管道输入输出(将一个程序或一个线程的输出结果直接连接到另一个程序或一个线程的输入端口,实现两者数据直接传送。操作时需要连结); x0dx0a4管道的连接: x0dx0a方法之一是通过构造枝岩函数直接将某一个程序的输出作为另一个程序的输入,在定义对象时指明目标管道对象 x0dx0aPipedInputStream pInput=new PipedInputStream(); x0dx0aPipedOutputStream pOutput= new PipedOutputStream(pInput); x0dx0a方法之二是利用双方类中的任一个成员函数 connect()相连接 x0dx0aPipedInputStream pInput=new PipedInputStream(); x0dx0aPipedOutputStream pOutput= new PipedOutputStream(); x0dx0apinput.connect(pOutput); x0dx0a5 管道的输入与输出: x0dx0a输出管道对象调用write()成员函数输出数据(即向管道的输入端发送数据);而输入管道对象调用read()成员函数可以读起数据(即从输出管道中获得数据)。游盯这主要是借助系统所提供的缓冲机制来实现的。 x0dx0a6随机文件读写: x0dx0aRandomAccessFile类(它直接继承于Object类而非InputStream/OutputStream类),从而可以实现读写文件中任何位置中的数据(只需要改变文件的读写位置的指针)。 x0dx0a随机文件读写编程的基本过程为: x0dx0a① 生成流对象并且指明读写类型; x0dx0a② 移动读写位置; x0dx0a③ 读写文件内容; x0dx0a④ 关闭文件。x0dx0ax0dx0a七里河团队答疑助人,希望我的回答对你有所帮助
❹ java用IO流一行行的读取文件
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
class ThreadDemo{
public static void main(String[] args) throws IOException{
BufferedReader fr=new BufferedReader(new FileReader("a.txt"));//a.txt代表文件
String line=null;
while((line=fr.readLine())!=null){
System.out.println(line);
}
}
}
❺ java中怎么对同一个文件读取两次或以上,用io
读取一个文件,把文件的内容缓存起来(用List,或者StringBuilder等等的容器)。然后读取另一个文件,扮蔽再把内容缓存到同一个容器里面。直到最后一个文件读取完毕。我在对这个缓存内容的容器进行处理。
但是这个可能会越界.....或者可以试试把第一个文件的内容写入缓做缺消存,然后读第二个文件时把第一个文件的内容写入硬盘同时清空缓存,然后读纯知第二个文件时,再在第一个写到硬盘的文件后面追加内容....如此类推....
❻ java io流如何读取文件效率高
你在类的使用上不太恰当。
如果你想读取文本内容,你应该使用InputStreamReader这个类,使用这个类并且指定文本内容的字符集,就可以读出正确的内容。
InputStream这个类是用来读取二进制字节的,比如做文件复制的时候,应该是用InputStream这个类。
不管是InputStreamReader还是InputStream,都可以声明临时缓冲数组,不同的是InputStreamReader声明的数组是:char[] cs = new char[1024]
而InputStream声明的数组是:byte[] bs = new byte[1024]
❼ java中怎么用io流读写文件
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
publicclassTest14{
publicstaticvoidmain(String[]args)throwsIOException{
StringfPath="C:/test.txt";
//读
BufferedReaderbr=newBufferedReader(newFileReader(fPath));
System.out.println(br.readLine());
br.close();////使用后记得关闭
//写
BufferedWriterbw=newBufferedWriter(newFileWriter(fPath));
bw.write("写一段话到文件里");
bw.flush();
bw.close();//使用后记得关闭
}
}
❽ 关于java IO读取文件路径问题
看你的包名,和你搜孙的绝对路径,你的aa.txt和bb.txt文件应该是放在包世滑链test.io.TestTxt下吧,让芹和TestOneToOnetxt类一个路径,那么你可以这么做:
File f1 = new File(TestOneToOnetxt.class.getResource("aa.txt").getFile());
❾ java怎么使用io流读取一个文件夹里面
使用工具类Properties
工具类有Load()方法 用于加载文件
首先将文件写成流(输入)
File file=new File(confPath);
in = new FileInputStream(file);加载流load(in)如果需要操作则完成具体操作
输出流并保存文件
out2 = new OutputStreamWriter(new FileOutputStream(confPath),"GBK");
cp.store(out2);完成
具体实例代码
public String updateConfParam(ConfParam cpl) throws IOException {
String error = null;
Properties cp=new Properties();
InputStream in= null;
OutputStreamWriter out1=null;
OutputStreamWriter out2=null;
JSONObject jObj = new JSONObject();
try {
String confPath=validateSystem(cpl.getConfAddress()+"/"+cpl.getConfName());
File file=new File(confPath);
in = new FileInputStream(file);
cp.load(in);
out1=new OutputStreamWriter(new FileOutputStream(confPath+".bak"),"GBK");
cp.store(out1);
cpl.setParaOldValue(cp.getProperty(cpl.getParaKey()));
cp.setProperty(cpl.getParaKey(), cpl.getParaValue());
out2 = new OutputStreamWriter(new FileOutputStream(confPath),"GBK");
cp.store(out2);
jObj.put("paraOldValue", cpl.getParaOldValue());
jObj.put("paraValue", cpl.getParaValue());
} catch (FileNotFoundException e) {
error=e.getMessage();
} catch (IOException e1) {
error = e1.getMessage();
}
finally{
if(in !=null){
in.close();
}
if(out1 !=null){
out1.close();
}
if(out2 !=null){
out2.close();
}
if(error != null){
jObj.put("error", error);
}
}
return jObj.toString();
}
❿ java 如何用io流 读取list集合里我需要的内容,然后写入到.txt文件里各位大侠请赐教
importorg.junit.Test;
importjava.io.*;
importjava.util.ArrayList;
importjava.util.List;
publicclassTestIo{
//路径
兄没privatestaticfinalStringPATH="D:\demo1.txt";
@Test
publicvoidtestIo()throwsIOException{
List<String>list=newArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
Filefile=newFile(PATH);
//如果没有文件就创建
if(!file.isFile()){
羡档纳file.createNewFile();
}
//
BufferedWriterwriter=newBufferedWriter(newFileWriter(PATH));
for(Stringl:list){
writer.write(l);
}
writer.close();
蠢枝System.out.println("完成");
}
}
结果
希望对你有帮助