Java学习随笔3:遍历文件夹及文件的读取和写入
import java.io.File; /**
* 遍历文件夹
*/
public class ScannerFile {
public static void main(String[] args) {
// 1代表缩进,以便更好的显示
printFiles(new File("E:\\eclipse32_workspace\\test"),1);
} public static void printFiles(File dir,int tab){
// 判断是否是文件夹
if(dir.isDirectory()){
// 将文件夹下的文件存入next
File[] next = dir.listFiles();
for(File file : next){
// 分级显示
for(int i = 0 ; i<tab-1;i++){
System.out.print("|--");
}
System.out.println(file.getName()); // 嵌套显示
if(file.isDirectory()){
printFiles(file,tab+1);
}
}
}
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException; public class ReadFile {
public static void main(String[] args) {
// 文件读取
File file = new File("test.txt");
if(file.exists()){
System.out.println("文件存在"); try {
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader br = new BufferedReader(isr); String line;
while((line = br.readLine()) != null){
System.out.println(line);
}
br.close();
isr.close();
fis.close(); } catch (FileNotFoundException e) {
e.printStackTrace();
} catch(UnsupportedEncodingException e){
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
}
} // 文件写入(具有覆盖性)
File newFile = new File("newtest.txt");
try {
FileOutputStream fos = new FileOutputStream(newFile);
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
BufferedWriter bw = new BufferedWriter(osw); bw.write("长歌行 汉乐府");
bw.write("青青园中葵,朝露待日晞\n");
bw.write("阳春布德泽,万物生光辉\n");
bw.write("常恐秋节至,焜黄华叶衰\n");
bw.write("百川东到海,何时复西归\n");
bw.write("少壮不努力,老大徒伤悲"); bw.close();
osw.close();
fos.close(); System.out.println("写入完成"); } catch (FileNotFoundException e) {
e.printStackTrace();
} catch(UnsupportedEncodingException e){
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
} }
}
Java学习随笔3:遍历文件夹及文件的读取和写入的更多相关文章
- Java访问文件夹中文件的递归遍历代码Demo
上代码: import java.io.File; /* * 需求:对指定目录进行所有内容的列出(包含子目录中的内容) * 也可以理解为 深度遍历. */ public class FindAllFi ...
- Java删除文件夹和文件
转载自:http://blog.163.com/wu_huiqiang@126/blog/static/3718162320091022103144516/ 以前在javaeye看到过关于Java操作 ...
- 【转】Java删除文件夹和文件
原文网址:http://kxjhlele.iteye.com/blog/323657 以前在javaeye看到过关于Java操作文件的一篇文章,写的很好,但找了半天也没找到,就把找到底几篇文章整理一下 ...
- HDFS 读取、写入、遍历文件夹获取文件全路径、append
版权声明:本文为博主原创文章,未经博主同意不得转载.安金龙 的博客. https://blog.csdn.net/smile0198/article/details/37573081 1.从HDFS中 ...
- java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量
package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...
- 递归遍历磁盘下的某一文件夹中所有文件,并copy文件生成文件和带文件夹的文件
package com.hudong.test; import java.io.File; import java.io.IOException; import java.util.ArrayList ...
- 遍历、显示ftp下的文件夹和文件信息
今天做了通过ftp读取ftp根目录下的所有文件夹和文件,嵌套文件夹查询,总共用到了一下代码: 1.FtpFile_Directory package com.hs.dts.web.ftp; impor ...
- C/C++遍历文件夹和文件
本方法可用于windows和linux双平台,采用C/C++标准库函数. 库函数 包含头文件 #include 用到数据结构_finddata_t,文件信息结构体的指针. struct _findda ...
- java 查询路径中所有文件夹和文件的名称,支持文件名模糊查询
java 查询路径中所有文件夹和文件的名称,支持文件名模糊查询 有时候我们遇到需要查询服务器或者本机某个路径下有哪些文件?或者根据文件名称模糊搜索文件,那么就可以使用本方法:可以获取某个路径下所有文件 ...
- Java——如何创建文件夹及文件,删除文件,文件夹
package com.zz; import java.io.File; import java.io.IOException; /** * Java创建文件夹 */ public class Cre ...
随机推荐
- qq开放平台测试
2015年3月10日 11:29:56 QQ API对一些链接的curl请求时, 有https, 所以需要安装openssl: Linux上要安装openssl #yum -y install op ...
- delphi XE5下安卓开发技巧
delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手 ...
- Java for LintCode 颠倒整数
将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数). 解题思路: JAVA实现如下: public int reverseInteger(int n) { Boole ...
- pthread_cond_wait的原子性
使用的基本模板如下(参考APUE): signal代码序列如下, pthread_mutex_lock ... pthread_cond_signal pthread_mutex_unlock w ...
- windows编程中关于“关闭窗口无法退出进程”的解决方法
一般会出现如下两种情况 1.WinMain函数中,最后阶段接收消息队列循环中,调用的GetMessage函数参数提供错误 如: while (GetMessage(&msg,hwnd, 0, ...
- 【QT】C++ GUI Qt4 学习笔记2
Go To Cell 利用QT Desinger做好界面后加入的代码有 gotocelldialog.h #ifndef GOTOCELLDIALOG_H #define GOTOCELLDIALOG ...
- 调用c++接口类
调用c++接口类 public class CarDeviceDll { /*对dll库进行一些初始化*/ [DllImport("IDI.dll")] public static ...
- yii过滤器的原理和使用
过滤器官方页面:http://www.yiiframework.com/doc/guide/1.1/zh_cn/basics.controller 过滤器是一段代码,可被配置在控制器动作执行之前或之后 ...
- 闭包(block)
block主要解决反向传值和传值问题 1.block申明的公式 返回值类型 (^名字)(参数列表); 2.block实现的公式 名字= ^(参数列表){}; 3.局部变量 ...
- C#更新SQLServer中的TimeStamp字段(时间戳) 防止同时修改一行时覆盖更新
C#更新SQLServer中的TimeStamp字段(时间戳) 分类: C#2012-10-24 15:10 1878人阅读 评论(0) 收藏 举报 public partial class Form ...