懂视

Java读写txt文件

2024-11-30 00:13:38

Java读取文本文件的方法主要包括从指定位置文件中一行一行读取内容,并将每行存入List集合。这是代码示例:publicstaticListreadInputByRow(Stringpath){Listlist=newArrayList();Filefile=newFile(path);try{FileInputStreamfis=newFileInputStream(file);InputStreamReaderisr=newInputStreamReader(fis,"UTF-8");BufferedReaderreader=newBufferedReader(isr);Stringtempstring="";while((tempstring=reader.readLine())!=null){list.add(tempstring);}reader.close();isr.close();fis.close();returnlist;}catch(IOExceptione){e.printStackTrace();returnnull;}}另一种方法是从指定位置文件中读取指定一行数据。代码如下:publicstaticStringreadInputByRow(Stringpath,intnum){Filefile=newFile(path);try{FileInputStreamfis=newFileInputStream(file);InputStreamReaderisr=newInputStreamReader(fis,"UTF-8");BufferedReaderreader=newBufferedReader(isr);Stringtempstring="";intline=1;while((tempstring=reader.readLine())!=null){if(line==num){break;}line++;}reader.close();isr.close();fis.close();returntempstring;}catch(IOExceptione){e.printStackTrace();returnnull;}这两种方法都涉及到文件的输入流处理,以及使用BufferedReader逐行读取文件内容。需要注意的是,错误处理部分会打印异常信息,并在发生异常时返回null。在实际应用中,这些方法可以灵活运用,根据需求读取文件的不同部分。同时,为了提高效率和代码的可维护性,建议对输入参数进行适当的校验和异常处理。此外,还可以考虑使用try-with-resources语句来自动关闭资源,简化代码并提高可读性。例如:publicstaticListreadInputByRow(Stringpath){Listlist=newArrayList();Filefile=newFile(path);try(FileInputStreamfis=newFileInputStream(file);InputStreamReaderisr=newInputStreamReader(fis,"UTF-8");BufferedReaderreader=newBufferedReader(isr)){Stringtempstring="";while((tempstring=reader.readLine())!=null){list.add(tempstring);}returnlist;}catch(IOExceptione){e.printStackTrace();returnnull;}这种方式不仅简化了代码,还能确保资源被正确关闭。