您的位置:

java读取文件,java读取文件中文乱码

本文目录一览:

Java读取文件的几种方法

方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的classes目录中,也可以在应用层级及web-info的目录中。文件存放位置具体在eclipse工程中的表现是:可以放在src下面,也可放在web-info及webroot下面等。因为是读取出路径后,用文件流进行读取的,所以可以读取任意的配置文件包括xml和properties。缺点:不能在servlet外面应用读取配置信息。

方式二:采用ResourceBundle类读取配置信息,

优点是:可以以完全限定类名的方式加载资源后,直接的读取出来,且可以在非Web应用中读取资源文件。缺点:只能加载类classes下面的资源文件且只能读取.properties文件。

方式三:采用ClassLoader方式进行读取配置信息

优点是:可以在非Web应用中读取配置资源信息,可以读取任意的资源文件信息

缺点:只能加载类classes下面的资源文件。

方法4 getResouceAsStream

XmlParserHandler.class.getResourceAsStream 与classloader不同

java中怎样从文件中读取数据?

分为读字节,读字符两种读法\x0d\x0a◎◎◎FileInputStream 字节输入流读文件◎◎◎\x0d\x0apublic class Maintest {\x0d\x0a\x0d\x0apublic static void main(String[] args) throws IOException {\x0d\x0a\x0d\x0aFile f=new File("G:\\just for fun\\xiangwei.txt");\x0d\x0a\x0d\x0aFileInputStream fin=new FileInputStream(f);\x0d\x0a\x0d\x0abyte[] bs=new byte[1024];\x0d\x0a\x0d\x0aint count=0;\x0d\x0awhile((count=fin.read(bs))0)\x0d\x0a{\x0d\x0a\x0d\x0aString str=new String(bs,0,count);//反复定义新变量:每一次都 重新定义新变量,接收新读取的数据\x0d\x0a\x0d\x0aSystem.out.println(str);//反复输出新变量:每一次都 输出重新定义的新变量\x0d\x0a}\x0d\x0afin.close();\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a◎◎◎FileReader 字符输入流读文件◎◎◎\x0d\x0apublic class Maintest {\x0d\x0apublic static void main(String[] args) throws IOException {\x0d\x0a\x0d\x0aFile f=new File("H:\\just for fun\\xiangwei.txt");\x0d\x0a\x0d\x0aFileReader fre=new FileReader(f);\x0d\x0a\x0d\x0aBufferedReader bre=new BufferedReader(fre);\x0d\x0a\x0d\x0aString str="";\x0d\x0awhile((str=bre.readLine())!=null)//●判断最后一行不存在,为空\x0d\x0a{\x0d\x0aSystem.out.println(str);\x0d\x0a}\x0d\x0abre.close();\x0d\x0a fre.close();\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0a}

java如何读取txt文件?

首先你要定义一条文件路线。就是实例File这个类,这条路连接了你的磁盘,也就是文件处,和你的代码处,你需要一个外卖员帮你传输数据,就是流,实例流对象!然后就是读取,用read方法读,每次读取的数据,存进字节数组,然后传进String类的构造器,底层会给你把字节数组里的转为字符串,就读取出来了,

如何通过JAVA 读取.wps et及 dps文件格式的内容

下面是三个java例子,关于读取wps/et/dps的方法

1.读取wps(读取文本): 通过流加载wps文件,读取文字内容

import com.spire.doc.*;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileWriter;

import java.io.IOException;

public class ReadTextFromWPS {

public static void main(String[] args) throws IOException{

//通过流加载WPS文字文档

FileInputStream inputStream = new FileInputStream(new File("test.wps"));

Document doc = new Document();

doc.loadFromStream(inputStream, FileFormat.Doc);

//获取文本保存为String

String text = doc.getText();

//将String写入Txt

writeStringToTxt(text,"读取WPS文本.txt");

}

public static void writeStringToTxt(String content, String txtFileName) throws IOException {

FileWriter fWriter= new FileWriter(txtFileName,true);

try {

fWriter.write(content);

}catch(IOException ex){

ex.printStackTrace();

}finally{

try{

fWriter.flush();

fWriter.close();

} catch (IOException ex) {

ex.printStackTrace();

}

}

}

}

2. 读取et:直接加载et格式的表格文件,读取数据

import com.spire.xls.*;

public class ExcelToText {

public static void main(String[] args) {

//加载et格式的表格文件

Workbook workbook = new Workbook();

workbook.loadFromFile("test.et");

//获取工作表

Worksheet sheet = workbook.getWorksheets().get(0);

//获取指定单元格中的文本数据

CellRange range = sheet.getCellRange("A1");

String text = range.getText().trim();

System.out.println(text);

}

}

3.读取dps:直接加载dps格式的幻灯片文档,读取文本

import com.spire.presentation.IAutoShape;

import com.spire.presentation.ISlide;

import com.spire.presentation.ParagraphEx;

import com.spire.presentation.Presentation;

import java.io.FileWriter;

public class ExtractText {

public static void main(String[]args) throws Exception{

//加载测试文档

Presentation ppt = new Presentation();

//ppt.loadFromFile("test.pptx");

ppt.loadFromFile("test.dps");

StringBuilder buffer = new StringBuilder();

//遍历文档中的幻灯片,提取文本

for (Object slide : ppt.getSlides())

{

for (Object shape : ((ISlide) slide).getShapes())

{

if (shape instanceof IAutoShape)

{

for (Object tp : ((IAutoShape) shape).getTextFrame().getParagraphs())

{

buffer.append(((ParagraphEx) tp).getText());

}

}

}

}

//保存到文本文件

FileWriter writer = new FileWriter("ExtractTextfromDPS.txt");

writer.write(buffer.toString());

writer.flush();

writer.close();

}

}

这里须在Java程序中导入spire.office.jar文件。