- 浏览: 212873 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
hui963966800:
如何在上传完图片生成的<img>标签中把项目的域名 ...
CKEditor文件上传-多种方式-与ckfinder结合上传 -
zqb666kkk:
ajaxForm是 第三方插件的方法?
artDialog弹出新页面,保存后关闭弹出框并刷新父页面 -
wang_wenjing:
可以生效,多谢
js按比例缩放图片且垂直居中显示图片
package org.hs.filecommon; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.Writer; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Random; import java.util.Scanner; import javax.swing.JFileChooser; public class FileDemo { public static final String DEFAULT_ENCODING = "utf-8"; public static final String OUT_FILE = "Writer.txt"; private ArrayList<String> pathlist = new ArrayList<String>(); /** * 显示一个目录中的所有文件(包含子目录信息) * * @param dir * 目录 */ public List<String> getFiles(File dir) { if (!dir.isDirectory()) { return null; } System.out.printf("目录:%s%n", dir.getAbsolutePath());// 获取文件的完整路径名称 File[] fileList = dir.listFiles(); for (File file : fileList) { if (file.isFile()) { System.out.printf("\t文件:%s%n", file.getAbsolutePath()); pathlist.add(file.getAbsolutePath()); } } for (File file : fileList) { if (file.isDirectory()) { getFiles(file); } } return pathlist; } /** * 删除一个文件夹下所有文件夹 * * @param dir */ public void deleteFilesAll(String dir) { File fileDir = new File(dir); File[] files = fileDir.listFiles(); for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { files[i].delete(); } } } /** * 复制一个文件夹下所有的文件到另一个目录 * @param dir1 * @param dir2 */ public void copyOne(String dir1, String dir2) { File copyfiles = new File(dir1); File[] files = copyfiles.listFiles(); for (int i = 0; i < files.length; i++) { if (!files[i].isDirectory()) { int bytesum = 0; int byteread = 0; try { InputStream inStream = new FileInputStream(files[i]); // 读入原文件 FileOutputStream fs = new FileOutputStream(new File(dir2, files[i].getName())); byte[] buffer = new byte[5120]; int length; while ((byteread = inStream.read(buffer)) != -1) { bytesum += byteread; // 字节数 文件大小 System.out.println(bytesum); fs.write(buffer, 0, byteread); } inStream.close(); } catch (Exception e) { System.out.println("复制单个文件操作出错"); e.printStackTrace(); } } } } /** * 输出文件内容 * * @param is * @param os * @param length * @throws IOException */ public static void writeFileContent(InputStream is, OutputStream os, int length) throws Exception { os.write(length); byte[] bytes = new byte[1024]; int size; if ((size = is.read(bytes)) != -1) { os.write(bytes, 0, size); } } /** * 输出文件名 * * @throws IOException */ public static void writeFileName(File file, OutputStream os) throws IOException { byte[] fn_bytes = file.getName().getBytes(); os.write(fn_bytes.length);// 输出文件名长度 os.write(fn_bytes); } /** * 创建文件并返回输出流 * * @param path * @return * @throws IOException */ public static FileOutputStream getFileOS(String path) throws IOException { File file = new File(path); if (!file.exists()) { file.createNewFile(); } return new FileOutputStream(file); } public void getFiles() { /** * 获取多个文件 */ JFileChooser chooser = new JFileChooser(); chooser.setMultiSelectionEnabled(true); chooser.showOpenDialog(null); File[] files = chooser.getSelectedFiles(); StringBuilder sb = new StringBuilder(); String topath = "f:\\hesai"; File ff = new File(topath); if (!ff.exists()) { ff.mkdir(); } for (int i = 0; i < files.length; i++) { if (!files[i].isDirectory()) { int bytesum = 0; int byteread = 0; try { InputStream inStream = new FileInputStream(files[i]); // 读入原文件 FileOutputStream fs = new FileOutputStream(new File(topath, files[i].getName())); sb.append("文件名称:").append(files[i].getName()).append(" "); byte[] buffer = new byte[5120]; while ((byteread = inStream.read(buffer)) != -1) { bytesum += byteread; // 字节数 文件大小 sb.append("字节数::").append(bytesum).append("; "); fs.write(buffer, 0, byteread); } inStream.close(); } catch (Exception e) { System.out.println("复制单个文件操作出错"); e.printStackTrace(); } } } String info = sb.toString(); System.out.println(info); } /** * 可以指定编码格式(最理想)的文本输出流 * * @throws IOException */ public static void one() throws IOException { Random r = new Random(); // 创建文件输出流,第二个参数表示为追加的方式输出 OutputStream os = new FileOutputStream(OUT_FILE, true); // 转换为字符输出流,并指定文件编码为utf-8 OutputStreamWriter osw = new OutputStreamWriter(os, DEFAULT_ENCODING); for (int i = 1; i < 10; i++) { osw.write(String.format("随机数输出:%d%n", r.nextInt(90) + 10)); osw.flush(); } osw.close(); os.close(); System.out.println("文本文件输出完毕!"); } /** * 最理想的数据读取类(必须jdk1.5及以上) * * @throws IOException */ public static void two() throws IOException { InputStream is = new FileInputStream(OUT_FILE); // 以自定编码的方式读取输入流 Scanner scanner = new Scanner(is, DEFAULT_ENCODING); while (scanner.hasNextLine()) {// 可以判读并逐行读取 System.out.println(scanner.nextLine()); } scanner.close(); } /** * 最简单的文本流输出流 * * @throws IOException */ public static void three() throws IOException { Writer w = new FileWriter(OUT_FILE); // 创建文本文件输出流 // 创建最简单文本流输出对象,第二个参数表示遇到换行就自动输出,不用调用flush方法 PrintWriter pw = new PrintWriter(w, true); pw.println(124); // 任何数据类型都会被这个对象转换成字符输出 pw.println(true); pw.println("哈哈"); pw.close(); w.close(); System.out.println("文本文件输出完毕!"); } /** * 旧版本的文本(优点为可以缓存,性能比较好)流读取 * * @throws IOException */ public static void four() throws IOException { BufferedReader br = new BufferedReader(new FileReader(OUT_FILE)); String line = br.readLine(); // 也是逐行读取 while (line != null) { // 只能通过读取的数据是否为空判断 System.out.println(line); line = br.readLine(); } br.close(); } /** * 目标:将SDsBEaA --aABDESs输出 * 简单易懂 * @param str */ public void sort4(String str) { char[] chars = str.toCharArray(); ArrayList<Character> a1 = new ArrayList<Character>(); for (char c : chars) { a1.add(c); } Collections.sort(a1, new Comparator<Character>() { public int compare(Character ch1, Character ch2) { char c1 = Character.toUpperCase(ch1); char c2 = Character.toUpperCase(ch2); if (c1 == c2 && ch1 > ch2) {// 以防小写字母仍然排在前面 return 1; } return c1 - c2; } }); System.out.println(a1); } public static void main(String[] args) { FileDemo fd=new FileDemo(); fd.sort4("uYhjkLP"); } }
发表评论
-
多线程-猴子分桃
2018-03-14 10:04 0需求: 共计9个苹果,有2只猴子,一个猴子每次拿2个苹果, ... -
RestTemplate发送post请求时接收参数为空或报错
2017-08-22 10:19 4850最近使用RestTemplate发送post请求,遇到了很多 ... -
FusionCharts使用过程中点滴
2014-04-07 14:16 798一、报错:a fusionchart object ... -
Map按value排序(由大到小-由小到大),对List列表分页
2014-03-28 16:31 2162一,Map排序 ①Map按key排序 Ma ... -
编写bat脚本运行简单java项目-邮件发送基于spring示例
2014-02-19 14:34 1710Step1:在Eclipse的资源管理器中选中你要打包的项 ... -
如何让eclipse中properties文件中文正常显示
2014-01-24 13:42 3120如果想让eclipse中的properties文件正常显示和编 ... -
java代码检查工具
2014-01-13 16:35 837一、PMD代码检查工具 PMD扫描java代码并 ... -
DisplaybTag实现内存分页
2014-01-10 14:40 790本文转载于http://blog.csdn.net/bla ... -
Display Tag标签下使用checkbox勾选且分页后复选框状态保存
2013-11-16 14:17 3044>>>在阅读本文之前请先优先参考《Dis ... -
如何删除Eclipse subclipse plugin中记住的SVN用户名密码
2013-10-17 15:04 7871. 查看你的Eclipse中使用的是什么SVN Interf ... -
文本聚类-利用Weka将csv格式的数据转换为arff格式
2013-10-15 11:51 15501、打开Explorer。 2、open file打开一 ... -
文本聚类-Weka中文乱码解决办法
2013-10-15 11:42 1706由于Weka的默认字符集编码是CP1252,所以如果导入的数 ... -
CKEditor文件上传-多种方式-自定义上传-保存在项目外
2013-09-17 18:53 3013本文介绍2种使用ckeditor上传文件保存至项目外(即硬 ... -
CKEditor文件上传-多种方式-与ckfinder结合上传
2013-09-17 18:53 9871本文介绍2种使用ckeditor上传文件保存至项目外(即硬 ... -
JSP页面2种简单的分页形式
2013-06-26 16:06 833JSP页面2种简单的分页形式,写下来以做备忘,欢迎各位建议 ... -
Web.xml配置详解
2013-06-05 11:55 5601 定义头和根元素 部署描述符文件就像所有XML文件一 ... -
String换行符的去除 Trim()与Replace()的区别
2013-06-05 11:46 982String中的trim()方法可以去除字符串前后的空格; ... -
java实现将数字型货币转换为中文型货币
2013-04-23 12:07 869package com.head.pms.report.us ... -
文书编码生成规则2012-1-000008
2013-04-09 17:23 715①通过sql语句来获取 select to_char(s ... -
多种语言实现 人民币数字金额 转大写汉字
2013-03-07 16:26 902今天见到了一篇很好的文章,用来处理--》人民币 数字 金额 ...
相关推荐
Java IO 流、文件读取操作 Java IO 流是 Java 语言中的一种基本输入/输出机制,它提供了多种方式来处理输入/输出操作。在 Java 中,IO 流可以分为两大类:字节流和字符流。字节流主要用于处理二进制数据,而字符流...
在实际应用中,开发者通常会结合Android的存储API(如`File`类、`ContentResolver`等)以及IO流,以实现更复杂的文件操作。通过熟练掌握这些基础知识,可以有效地在Android系统中进行文件读写操作,满足各种需求。
在Java开发中,将文件传输到前端并允许用户下载是一个常见的需求。这个场景通常涉及到服务器端的文件处理、HTTP响应的构建以及...理解这些核心概念和技术,对于实现“通过IO流把文件传到前端并下载”的功能至关重要。
标题中的"IO流文件操作(注释版)"是指在编程中使用I/O流进行文件操作,特别是关于C++中的文件处理。I/O流是一种在程序与外部设备(如文件)之间传输数据的方式,它允许程序员以一种统一的、抽象的方式来处理输入和...
Java 中文件 IO 流 Java 中文件 IO 流是指 Java 语言中对文件的输入输出操作,通过定义文件流来实现文件的读写...在 Java 中,文件 IO 流操作是非常重要的,掌握文件 IO 流操作可以帮助我们更好地处理文件相关的任务。
本篇文章将详细介绍如何使用Java的IO流来实现文件的复制。 首先,我们需要了解Java中的IO流体系。Java的IO库基于流的概念,流可以视为数据的序列,可以从源(如键盘、文件)读取到目的地(如显示器、文件)。IO流...
java I\O流及文件操作,是初学者很好的资源。
io流中的文件操作,直接粘贴去eclipse或者cmd就可以运行。
本文将详细讲解如何使用IO流来读取和创建文件,以及涉及的相关概念和技术。 首先,理解IO流的基本概念至关重要。IO流可以被视为数据传输的管道,允许我们从一个源头(如磁盘上的文件)读取数据,并将其写入目的地...
Java IO流和文件操作实现过程解析 Java IO流和文件操作实现过程解析是Java语言中的一种基本操作,IO流是Java中处理输入输出的基础。Java中的IO流主要包括两种类型:字节流和字符流。字节流用于处理二进制数据,而...
七、文件操作练习 在你给出的"demo17"和"task09"这两个文件中,很可能是包含了针对文件读写的实例代码。例如,可能涉及使用`FileInputStream`和`FileOutputStream`进行简单的文件复制,或者使用`BufferedReader`和`...
Java 文件操作与IO流是Java编程中的核心概念,主要用于数据的读取、写入和传输。在Java中,文件操作通常涉及到`java.io`包下的类,如`File`、`FileOutputStream`、`OutputStreamWriter`和`BufferedWriter`等。下面将...
总结起来,Java的IO流提供了丰富的功能来处理文件操作。在复制文本文件时,可以根据实际需求选择合适的流类型,如简单文本处理可选用FileReader和FileWriter,追求效率时可采用BufferedReader和BufferedWriter。理解...
### JAVA IO流概念及其应用详解 ...通过对以上知识点的学习,我们可以了解到JAVA IO流在处理文件和其他设备上的数据时的强大功能。掌握好这些基本概念和技巧,能够帮助开发者更好地处理各种数据操作需求。
Java 7引入了NIO.2,引入了Path、Files、Paths等新类,使得文件操作更加简洁。 总结,Java中的IO文件流操作是编程中必不可少的部分,理解并熟练掌握各类流的使用,能够有效提升程序的效率和灵活性。在实际开发中,...
总结,Java的IO流提供了强大而灵活的文件操作功能,通过`FileInputStream`和`FileOutputStream`可以实现文件的复制,而通过递归调用可以实现整个文件夹的复制。在实际开发中,我们需要根据具体需求进行相应的异常...
Java的IO流是Java平台中处理输入/输出操作的核心组件,它允许程序与...通过组合不同的输入流和输出流,我们可以构建出适应不同需求的文件操作解决方案。理解并熟练掌握IO流的使用,是每个Java开发者必备的技能之一。
总的来说,Java的IO流体系结构复杂而强大,它提供了多种工具和策略来处理各种数据传输场景,包括文件操作、网络通信、对象序列化等。理解并熟练运用这些流可以帮助我们构建高效、可靠的Java应用程序。
总结来说,Java IO流是处理输入输出的核心工具,无论是在本地文件系统还是在网络环境中,都能提供高效、灵活的文件操作手段。通过组合不同的流类,可以实现复杂的文件读写、上传和下载任务,同时适应文本和非文本...
"io流写入和读取"这个主题涵盖了如何使用IO流进行数据的存储和检索,通常涉及到文件操作、数据序列化以及与数据库的交互。在本篇文章中,我们将深入探讨这些关键知识点。 首先,IO流是Java中的一个基础概念,它允许...