1.利用递归读取文件

(1)NotifyFolder.java

 package com.etc;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList; public class NotifyFolder { public ArrayList<File> readFolder(String path)throws IOException{ ArrayList<File> fileList=new ArrayList<File>();
File file=new File(path);
//判断该文件是否为目录
if(file.isDirectory()){
//定义一个文件数组用于存放文件夹file下面的所有文件
File[] files=file.listFiles();
for(File file3: files){
//如果这个文件为目录
if(file3.isDirectory()){
// System.out.println("文件夹路径:"+file3.getAbsolutePath());
//递归读文件夹
readFolder(file3.getAbsolutePath());
}
else
//普通文件则将其放入集合中
fileList.add(file3);
/*//获取文件路径
System.out.println("文件路径:"+file3.getAbsolutePath());*/
//获取文件名
System.out.println("文件名称:"+file3.getName());
}
}
return fileList;
}
}

2.直接读取某个文件或图片

(2)ReadFile.java

 package com.etc;
import java.awt.BorderLayout;
import java.awt.Image;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
//文本类文件内容读出
public class ReadFile {
public void readTxtFile(String path) throws IOException{
File file=new File(path);
//判断文件是否已经存在,若不在则新建文件与之对应
if(!file.exists()){
file.createNewFile();
}
try {
//获取源文件
FileInputStream fi=new FileInputStream(file);
//定义缓冲区,缓冲区大小与获取的文件大小一致,同时以byte数组存放防止出现乱码的情况
byte[] by=new byte[fi.available()];
fi.read(by);
//关闭资源
fi.close();
//以字符串的形式打印出文件中的所有内容
System.out.println(new String(by));
} catch (FileNotFoundException e) { e.printStackTrace();
}
}
//图片内容读取并打印
public void readImageFile(){
Image image = null;
try {
//从本地文件读取
File sourceimage = new File("E:/timg.jpg");
image = ImageIO.read(sourceimage); //从输入流读取
InputStream is = new BufferedInputStream(
new FileInputStream("E:/timg.jpg"));
image = ImageIO.read(is); /*//从网上获取图片内容写入image中然后读取出来
URL url = new URL("http://www.javaworld.com/images/012407-tipsbox.jpg");
image = ImageIO.read(url);*/ }
catch (IOException e) { } //用一个窗口打印图片内容
JFrame frame = new JFrame();
JLabel label = new JLabel(new ImageIcon(image));
frame.getContentPane().add(label, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
//关闭窗口--退出调试
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} }

3.测试类

 package com.etc;
import java.io.IOException; public class Test {
//测试类,测试输入文件源
public static void main(String[] args) {
NotifyFolder nf=new NotifyFolder ();
try {
nf.readFolder("F:/QQ");
} catch (IOException e1) {
e1.printStackTrace();
}
System.out.println("***************************");
ReadFile rd=new ReadFile();
try {
rd.readTxtFile("F:/test.java");
rd.readImageFile();
} catch (IOException e) {
e.printStackTrace();
} } }

效果截图:

java-文件读取的更多相关文章

  1. JAVA文件读取FileReader

    JAVA文件读取FileReader 导包import java.io.FileReader 创建构造方法public FileReader(String filename),参数是文件的路径及文件名 ...

  2. Java文件读取

    package a.ab; import java.io.*; public class FileWrite { public static void main(String[] args) { Fi ...

  3. java文件读取与写入

    package com.myjava; import java.io.*; import java.util.ArrayList; import java.util.Collections; impo ...

  4. java 文件读取大全

    1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile {     /**      * 以字节为单位读取文件,常用 ...

  5. 【转】java 文件 读取目录下的所有文件(包括子目录)

    转自:http://www.cnblogs.com/pricks/archive/2009/11/11/1601044.html import java.io.File; import java.io ...

  6. java 文件读取的一些方法

    web项目读取日志文件 //得到路径 String appPath = filterConfig.getServletContext().getRealPath("/"); // ...

  7. JAVA 文件读取写入后 md5值不变的方法

    假如我们想把某文件读入 StringBuffer 并写入新文件,新文件md5值需要保持不变(写入新文件后保证和源文件一模一样), 我们就需要在操作 StringBuffer 时附加换行符: Strin ...

  8. java 文件读取写入

    public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileB ...

  9. java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  10. 五种方式让你在java中读取properties文件内容不再是难题

    一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...

随机推荐

  1. 根据excel表格字段生成sql语句

    根据excel表格字段生成sql语句 1.1 前言 根据excel表格字段生成sql语句主要是利用了excel的拼接函数 CONCATENATE .该实例主要以mysql脚本支持.实例需求如下:exc ...

  2. Chrome+postman+postman interceptor调试

    本文使用chrome+postman4.8.3+postman interceptor0.2.23调试使用cookie的请求. postman4.8.3下载地址:https://pan.baidu.c ...

  3. DCOS实践分享(5):Open DCOS深入分析

    2016/05/18(三) 09:30 OpenDC/OS研討會暨工作坊 指導單位:經濟部.科技部 主辦單位:工業技術研究院.Linker Networks 協辦單位:Microsoft.資通訊產業聯 ...

  4. DDD事件总线的实现

    基本思路: (1)       在事件总线内部维护着一个事件与事件处理程序相映射的字典. (2)       利用反射,事件总线会将实现了IEventHandler的处理程序与相应事件关联到一起,相当 ...

  5. 企业IT管理员IE11升级指南【10】—— 如何阻止IE11的安装

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  6. Xapian索引-文档检索过程分析

    本文是Xapian检索过程的分析,本文内容中源码比较多.检索过程,总的来说就是拉取倒排链,取得合法doc,然后做打分排序的过程. 1 理论分析 1.1  检索语法 面对不同的检索业务,我们会有多种检索 ...

  7. 【Spark篇】---SparkSQL中自定义UDF和UDAF,开窗函数的应用

    一.前述 SparkSQL中的UDF相当于是1进1出,UDAF相当于是多进一出,类似于聚合函数. 开窗函数一般分组取topn时常用. 二.UDF和UDAF函数 1.UDF函数 java代码: Spar ...

  8. Python内置函数(2)——all

    英文文档: all(iterable) Return True if all elements of the iterable are true (or if the iterable is empt ...

  9. BBS论坛(二十六)

    26.发布帖子前台代码逻辑完成 (1)front/hooks.py from .views import bp from flask import session,g from .models imp ...

  10. socket编程: TypeError: must be bytes or buffer, not str

    先看一段代码 #!/usr/bin/env python3 from socket import * serverName = "10.10.10.132" serverPort ...