java读取txt什么格式的文件下载,java 将编码格式为utf-8的文件内容以 GBK编码存到txt文档
大家好,如果您还对java读取txt什么格式的文件下载不太了解,没有关系,今天就由本站为大家分享java读取txt什么格式的文件下载的知识,包括java 将编码格式为utf-8的文件内容以 GBK编码存到txt文档的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
java 将编码格式为utf-8的文件内容以 GBK编码存到txt文档
默认Java转换GBK格式的可以通过提供的转换类来实现,示例如下:
如果直接把Java源代码复制到Eclipse中所有的中文信息都出现乱码。将文本文件的编码格式从GBK转UTF-8的方式有很多,
比较早以前我处理方式都是自己写程序,从文本文件中用GBK编码读取数据,转为String类型,然后通过UTF-8编码重新写入文本文件实现转码,现在经常使用ApacheCommon组件,用commons-io.jar实现文件的
读取和写入,代码如下:
//GBK编码格式源码路径
StringsrcDirPath="D:\\dev\\workspace\\masdev\\mas\\src";
//转为UTF-8编码格式源码路径
Stringutf8DirPath="D:\\UTF8\\src";
//获取所有java文件
CollectionjavaGbkFileCol=FileUtils.listFiles(newFile(srcDirPath),newString[]{"java"},true);
for(FilejavaGbkFile:javaGbkFileCol){
//UTF8格式文件路径
Stringutf8FilePath=utf8DirPath+javaGbkFile.getAbsolutePath().substring(srcDirPath.length());
//使用GBK读取数据,然后用UTF-8写入数据
FileUtils.writeLines(newFile(utf8FilePath),"UTF-8",FileUtils.readLines(javaGbkFile,"GBK"));
}
java如何读取指定目录下的txt文件
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String t="all";//检测的那个单词
String ml="f:/a/";//那个用户输入的目录;这个sc.nextLine();一样的
jc(t,ml);
}
public static void jc(String dc,String ml){
File[] f=new File(ml).listFiles();//取这个目录下所有文件
if(f!=null){//看看有这个文件夹不
if(f.length>0){//看看文件夹有文件不
String h=null;
for(int i=0;i<f.length;i++){///循环文件夹里的文件
if(f[i].getName().endsWith(".txt")){///如果文件夹里是.txt结尾的就进来
try{
InputStream in=new FileInputStream(f[i]);///输入流
byte[] b=new byte[in.available()];//available()文件的字节数
int l=0;
String d="";
while((l=in.read(b))>0){///文件里如果有东西就进去
d=new String(b,0,l);//把文本全部内容给d
}
if(d.indexOf(dc)>-1){//看看那文本有这单词不
System.out.println(dc+"找到了!在"+ml+f[i].getName()+"文件里。");
h="1";
break;
}
in.close();///关闭输入流
} catch(FileNotFoundException e){
System.out.println("文件未找到");
} catch(IOException e){
System.out.println("流错误!");
}
}
}
if(h==null){
System.out.println(ml+"目录里未找到"+dc+"此单词。");
}
}else{
System.out.println("目录里没有文件!");
}
}else{
System.out.println("没找到该目录!");
}
}
我居然还记得listFiles()这个方法
java如何读取txt文件
如果对读写性能要求不是很高的话,读取TXT文件很简单。
不考虑文本文件的编码的话,可以用一个FileReader读取磁盘上的文件即可
如下:
FileReader fr= new FileReader("文件路径");
然后循环调用fr.read();
将文本数据读入一个char数组。
再解析数组中的字符,将网站名跟URL区分开,分别存入数据库即可。
这是最简单的实现了。
如果IO部分不熟悉,可以参考JDK文档中FileReader类、InputStreamReader类等java.io包中相关类的文档。
实际应用中,字符集编码是个很重要的问题。
Java 如何读取txt文件的内容
java读取txt文件内容。可以作如下理解:
首先获得一个文件句柄。File file= new File(); file即为文件句柄。两人之间连通电话网络了。接下来可以开始打电话了。
通过这条线路读取甲方的信息:new FileInputStream(file)目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西
既然你使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据
解读完成后要输出呀。那当然要转换成IO可以识别的数据呀。那就需要调用字节码读取的方法BufferedReader()。同时使用bufferedReader()的readline()方法读取txt文件中的每一行数据哈。
packagecom.campu;
importjava.io.BufferedInputStream;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.InputStreamReader;
importjava.io.Reader;
/**
*@authorJava团长
*H20121012.java
*2017-10-29上午11:22:21
*/
publicclassH20121012{
/**
*功能:Java读取txt文件的内容
*步骤:1:先获得文件句柄
*2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取
*3:读取到输入流后,需要读取生成字节流
*4:一行一行的输出。readline()。
*备注:需要考虑的是异常情况
*@paramfilePath
*/
publicstaticvoidreadTxtFile(StringfilePath){
try{
Stringencoding="GBK";
Filefile=newFile(filePath);
if(file.isFile()&&file.exists()){//判断文件是否存在
InputStreamReaderread=newInputStreamReader(
newFileInputStream(file),encoding);//考虑到编码格式
BufferedReaderbufferedReader=newBufferedReader(read);
StringlineTxt=null;
while((lineTxt=bufferedReader.readLine())!=null){
System.out.println(lineTxt);
}
read.close();
}else{
System.out.println("找不到指定的文件");
}
}catch(Exceptione){
System.out.println("读取文件内容出错");
e.printStackTrace();
}
}
publicstaticvoidmain(Stringargv[]){
StringfilePath="L:\\Apache\\htdocs\\res\\20121012.txt";
//"res/";
readTxtFile(filePath);
}
}
我有一个微信公众号,经常会分享一些Java技术相关的干货文章,还有一些学习资源。
如果你需要的话,可以用微信搜索“Java团长”或者“javatuanzhang”关注。
关于java读取txt什么格式的文件下载,java 将编码格式为utf-8的文件内容以 GBK编码存到txt文档的介绍到此结束,希望对大家有所帮助。