导航:首页 > 文件教程 > java中读取文件时部分的读

java中读取文件时部分的读

发布时间:2025-06-04 11:42:18

java 读取 TXT 文件中的内容

在Java中读取TXT文件内容,可以使用FileInputStream类读取文件,再通过 InputStreamReader类将其转换为可读取的字符流,接着使用BufferedReader类进行逐行读取。具体代码如下:

首先创建FileInputStream对象,使用File类指定文件路径,例如:

FileInputStream fis = new FileInputStream(new File(path));

接着,创建一个InputStreamReader对象,将FileInputStream作为参数传递给它:

InputStreamReader isr = new InputStreamReader(fis);

然后,利用BufferedReader对字符流进行处理:

BufferedReader br = new BufferedReader(isr);

为了存储每一行读取的内容,我们定义一个字符串变量str:

String str = "";

使用while循环来读取文件中的每一行,直到没有更多的行为止。在循环内部,使用readLine()方法读取一行,并将其赋值给str变量:

while((str=br.readLine())!=null){

System.out.println(str);

}

这个循环会持续执行,直到读取到文件的最后一行。每次循环中,readLine()方法会读取一行文本,并将其存储在str变量中,然后将str的值打印出来。当readLine()返回null时,表示文件读取完毕,循环结束。

需要注意的是,使用完这些对象后,应该确保关闭它们以释放资源。可以使用try-with-resources语句来自动完成关闭操作,如下所示:

try (FileInputStream fis = new FileInputStream(new File(path));

InputStreamReader isr = new InputStreamReader(fis);

BufferedReader br = new BufferedReader(isr);) {

String str = "";

while((str=br.readLine())!=null){

System.out.println(str);

}

}

这样可以确保在读取文件过程中,资源得到及时释放,避免资源泄露。

以上就是使用Java读取TXT文件内容的完整步骤,包括创建文件流对象、读取文件内容以及处理读取到的数据。

Ⅱ Java读入一个txt文件,并且从txt文件中的某一个单词开始读里面的数字

publicstaticvoidmain(String[]args){

Filefile=newFile("D:/123456.txt");

BufferedReaderreader=null;

StringtempString=null;

intline=1;

try{

System.out.println("以行为单位读取文件内容,一次读一整行:");

StringBuffersb=newStringBuffer(0);

reader=newBufferedReader(newFileReader(file));

while((tempString=reader.readLine())!=null){

System.out.println("Line"+line+":"+tempString);

intstart=tempString.indexOf("begin");

intend=tempString.indexOf("end");

if(start>-1){

if(end>-1){

sb.append(tempString.substring(start+"begin".length(),end));

}else{

sb.append(tempString.substring(tempString.indexOf("begin"),tempString.length()));

}

}if(start>-1&&end==-1){

sb.append(tempString.substring(0,end));

}line++;

}System.out.println(sb.toString());

reader.close();

}catch(FileNotFoundExceptione){

e.printStackTrace();

}catch(IOExceptione){

e.printStackTrace();

}finally{

if(reader!=null){

try{

reader.close();

}catch(IOExceptione){

e.printStackTrace();

}

}

}

}

}
运行结果:
以行为单位读取文件内容,一次读一整行:
Line1:
123213okok12412551

Ⅲ java 读取excel文件 我需要去读到每一行的每一个数据。 然后操作一番。 最后生成一个XML文件

jxl

package com.cj.fw.xml;
import java.io.File;import java.io.IOException;
import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;
import jxl.Workbook;import jxl.WorkbookSettings;import jxl.read.biff.BiffException;import jxl.write.Label;import jxl.write.WritableCell;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl.write.WriteException;import com.cj.pro.domain.Drilling;
public class DrillingExport {
// 模板文件位置 private final static String TempletFile = "/attachments/template/emergencydrill.xls"; // 数据 private Drilling log = null; private String leixing=null;
/** * 构造函数 */ public DrillingExport( Drilling log,String leixing) { this.log=log; this.leixing=leixing; }
/** * 安全培训日志导出表 * @throws IOException * @throws BiffException * @throws WriteException */ public boolean export(HttpServletRequest request,HttpServletResponse response) throws BiffException, IOException, WriteException { String fileName=""; if("1".equals(leixing)){ fileName="应急演练信息导出表.xls"; }else if("2".equals(leixing)){ fileName="消防演练演练信息导出表.xls"; } response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-type","application/file"); response.setHeader("Content-Disposition", "attachment;filename=" + new String( fileName.getBytes("gb2312"), "ISO8859-1" )); File file = new File(request.getSession().getServletContext().getRealPath(TempletFile)); WorkbookSettings workbookSettings=new WorkbookSettings(); workbookSettings.setEncoding("ISO-8859-1"); //关键代码,解决中文乱码 Workbook workbook = Workbook.getWorkbook(file,workbookSettings); WritableWorkbook wwb = Workbook.createWorkbook(response.getOutputStream(), workbook); WritableSheet ws = wwb.getSheet(0); WritableCell cell = null; if("1".equals(leixing)){ cell = new Label(1,0,"应急演练单",ws.getCell(1,0).getCellFormat()); ws.addCell(cell); }else if("2".equals(leixing)){ cell = new Label(1,0,"消防演练单",ws.getCell(1,0).getCellFormat()); ws.addCell(cell); } if(log!=null){ cell = new Label(2,1,log.getRiqi(),ws.getCell(1,1).getCellFormat()); ws.addCell(cell); cell = new Label(5,1,log.getDidian(),ws.getCell(1,1).getCellFormat()); ws.addCell(cell); cell = new Label(2,2,log.getMingcheng(),ws.getCell(1,1).getCellFormat()); ws.addCell(cell); cell = new Label(5,2,log.getZudanwei(),ws.getCell(1,1).getCellFormat()); ws.addCell(cell); cell = new Label(2,3,log.getJiaoben(),ws.getCell(1,1).getCellFormat()); ws.addCell(cell); cell = new Label(2,4,log.getBeizhu(),ws.getCell(1,1).getCellFormat()); ws.addCell(cell); }else{ cell = new Label(2,4,"导出出错",ws.getCell(1,0).getCellFormat()); ws.addCell(cell); } //合计小写 wwb.write(); wwb.close(); workbook.close(); return true; }
}

上面的是导出 你可以变变

Ⅳ java读取文件每一行

java循环问题,读文件的每一行

可以通过BufferedReader流的形式进行读取,之后循环输出每一行的内容。

BufferedReaderbre=null;

try{

Stringfile="D:/test/test.txt";

bre=newBufferedReader(newFileReader(file));//file为文件的路径+文件名称+文件后缀

while((str=bre.readLine())!=null)//●判断最后一行不存在,为空结束循环

{

System.out.println(str);//原样输出读到的内容

};

备注:流用完之后必须close掉,如上面的就应该是:bre.close();

Java中如何一行行地读文件

import?java.io.BufferedReader;

import?java.io.File;

import?java.io.FileReader;

import?java.io.IOException;

import?java.io.InputStreamReader;

public?class?ReadTest?{

public?static?void?main(String[]?args)?{

//?读控制台输入的文字!

BufferedReader?br?=?null;

String?str?=?null;

try?{

br?=?new?BufferedReader(new?InputStreamReader(System.in));

while?(true)?{

str?=?br.readLine();

if?(str.equals("886"))

break;

System.out.println(str);

}

//?读文本文件..

br?=?new?BufferedReader(new?FileReader(new?File("C:\Users\Administrator\Desktop\地址.txt")));

for?(str?=?br.readLine();?str?!=?null;?str?=?br.readLine())?{

//打印你读的文本数据!

System.out.println(str);

}

}?catch?(IOException?e)?{

e.printStackTrace();

}

}

}

核心就是:readLine()方法,一行一行的读!

java怎么读入文件,并逐行输出

java读入文件,并逐行输出,先在D://home建立个文件夹,然后创建一个a.txt文件,然后编辑文件,文本编辑的编码是utf-8,然后用流逐行读取输出,如下:

import?java.io.BufferedInputStream;

import?java.io.BufferedReader;

import?java.io.File;

import?java.io.FileInputStream;

import?java.io.InputStream;

import?java.io.InputStreamReader;

public?class?TestC?{

public?static?void?main(String[]?args){

//获取要读取的文件

?File?readFile=new?File("D://home/a.txt");

?//输入IO流声明

????????InputStream?in=null;

????????InputStreamReader?ir=null;

????????BufferedReader?br=null;

????????

????????try?{

????????//用流读取文件

in=new?BufferedInputStream(new?FileInputStream(readFile));

//如果你文件已utf-8编码的就按这个编码来读取,不然又中文会读取到乱码

ir=new?InputStreamReader(in,"utf-8");

//字符输入流中读取文本,这样可以一行一行读取

br=new?BufferedReader(ir);

String?line="";

//一行一行读取

while((line=br.readLine())!=null){

System.out.println(line);

}

????????}?catch?(Exception?e)?{

e.printStackTrace();

}finally{

//一定要关闭流,倒序关闭

try?{

if(br!=null){

br.close();

}

if(ir!=null){

ir.close();

}

if(in!=null){

in.close();

}

}?catch?(Exception?e2)?{

}

}

????

}

}

结果:

helloworld

您好

123456

java读取txt文件每一行多少个字节

import?java.io.File;

import?java.io.RandomAccessFile;

/**

?*?2016年8月31日下午7:00:37

?*?

?*?@author?3306?TODO?计算字节数

?*

?*/

public?class?FileUtil?{

????public?static?void?main(String[]?args)?{

????????String?filePath?=?"d:/test.txt";//?d盘必须存在test.txt文件

????????readEachLine(filePath);

????}

????/**

?????*?打印文件每一行的字节数

?????*?

?????*?@param?filePath

?????*????????????文件路径

?????*/

????private?static?void?readEachLine(String?filePath)?{

????????try?{

????????????File?file?=?new?File(filePath);

????????????if?(file.exists())?{//?文件存在

????????????????RandomAccessFile?accessFile?=?new?RandomAccessFile(file,?"r");//?只赋予读的权限

????????????????String?line?=?"";

????????????????long?lineIndex?=?1;

????????????????while?(null?!=?(line?=?accessFile.readLine()))?{

????????????????????System.out.println("line"?+?(lineIndex++)?+?":?"?+?line.getBytes().length);//?打印行号和字节数

????????????????}

????????????????accessFile.close();

????????????}

????????}?catch?(Exception?e)?{

????????????e.printStackTrace();

????????}

????}

}

Ⅳ java 读取csv文件里指定行列的值,比如读取第三行第二列的值。

import java.io.BufferedReader;
import java.io.FileReader;
public class Test {
public void test(int row,int col){
try {
BufferedReader reader = new BufferedReader(new FileReader("C:\a.csv"));//换成你的文件名
// reader.readLine();//第一行信息,为标题信息,不用,如果需要,注释掉
String line = null;
int index=0;
while((line=reader.readLine())!=null){
String item[] = line.split(" ");//CSV格式文件为逗号分隔符文件,这里根据逗号切分
if(index==row-1){
if(item.length>=col-1){
String last = item[col-1];//这就是你要的数据了
System.out.println(last);
}
}
//int value = Integer.parseInt(last);//如果是数值,可以转化为数值
index++;
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
Test test = new Test();
test.test(3, 2);
}
}

你的数据格式有问题,空格的个数不确定,没办法每行用空格分隔。以下是我调整后的数据格式每行的数据以一个空格分隔,test方法传入的参数一次是,行,列:

1电机1

2WBS2

3PID3

4CP

5社供出

6原価実绩

7社供WC

8外注费

9直材费

10自家制品

11直経费

12その他

13注残

14注残

阅读全文

与java中读取文件时部分的读相关的资料

热点内容
魅族微信不会提醒 浏览:848
solidworks文件修改路径 浏览:81
微信图片打包怎么做文件夹 浏览:793
linux复制出文件 浏览:225
u盘启动盘制作工具mac 浏览:480
小花喵水深火热什么网站能看 浏览:138
苹果5s屏幕锁密码忘记 浏览:400
怎么使用邮箱发文件 浏览:926
狼人杀白狼王版本技巧 浏览:378
word2003怎么自动生成论文目录 浏览:404
怎么实现众多网站跳转 浏览:71
office2010只安装word 浏览:901
注册文件dao350dll失败 浏览:228
手机里dslog2txt文件 浏览:844
java6sdk 浏览:472
qq的文件怎么改名字怎么改回来吗 浏览:310
主板不能装驱动程序 浏览:681
教学网站如何开通课程 浏览:258
苹果12手机蜂窝数据怎么设置 浏览:899
广数928ta怎么编程 浏览:186

友情链接