- 浏览: 765731 次
- 性别:
- 来自: 深圳
-
文章分类
- 全部博客 (241)
- 个人思考 (1)
- 数据库 (5)
- java基础 (32)
- 软件工程 (2)
- zk开源框架 (15)
- 设计模式 (25)
- javascript (12)
- css (9)
- UML (2)
- CMMI软件需求 (3)
- CMMI软件设计 (2)
- CMMI软件实现 (1)
- CMMI软件测试 (1)
- 正则表达式 (4)
- 系统日志配置 (4)
- 应用服务器 (1)
- spring (7)
- XML (6)
- java web (10)
- Ajax (3)
- RichFaces (14)
- 问题 (1)
- 评论文章 (2)
- fushioncharts (2)
- MAVN (4)
- jquery (26)
- Ext js学习 (2)
- 学习心得 (2)
- CSS兼容问题 (3)
- XSL-FOP (1)
- Quartz (0)
- OSGI (1)
- spring--security (6)
- apache tools (1)
- eclispe 小技巧 (2)
- Ant (1)
- 杂记 (1)
- spring3系列 (5)
- java cache (4)
- EffectiveJava (2)
- 代码重构 (0)
最新评论
-
psz6696:
可以说是超级简单的Demo了,可惜没有演示设值注入和构造注入两 ...
模拟spring中的ClassPathXmlApplicationContext类的实现 -
ziyourJava:
[flash=200,200][img][url][list] ...
spring security进级篇 V 自定义标签控制显示 -
ztw1122:
...
zk组件开发指南(目录) -
zjysuv:
容我说一句 在座的各位都是垃圾 spring 3.2以后的@C ...
三. spring mvc 异常统一处理 -
chengwu1201:
二 基于Spring的异常体系处理
java的IO类操作主要包括如下几类
1、File类的使用。
2、字节操作流:OutputStream、InputStream
3、字符操作流:Reader、Writer
4、对象序列化:serializable
(1)File类
public class File extends Object implements Serizliable Comparable<File>
从定义看,File类是Object的直接子类,同时它继承了Comparable接口可以进行数组的排序。
File类的操作包括文件的创建、删除、重命名、得到路径、创建时间等,以下是文件操作常用的函数。
File类的操作:
(1)创建文件,注意File.separator可以解决跨操作系统的问题。
下面的例子是一创建一个文件,如果该文件存在则删除,否则创建该文件。
/** * * @功能 * @author 创建人 gao_jie * @date 创建日期 Oct 24, 2009 * @version 1.0 * */ public class FileDemo1 { public static void main(String[] args) { File file = new File("D:" + File.separator + "test.txt"); if (file.exists()) { file.delete(); } else { try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
(2)文件的类型函数
file.isFile(); //判断是不是文件
file.isDirectory();//判断是不是目录
(3)列出目录的内容
pulbic String[] list();//列出所有文件名和目录名
public File[] listFiles();//列出所有文件和目录
(2)字节操作流(btyle)
(1)字节输出流OutputStream
/** * * @功能 * @author 创建人 gao_jie * @date 创建日期 Oct 24, 2009 * @version 1.0 * */ public class FileDemo1 { public static void main(String[] args) { File file = new File("D:" + File.separator + "test.txt");//指定要操作的文件 OutputStream out=null;//定义字节流输出对象 try { //out= new FileOutputStream(file,true);//是否字节追加函数 out= new FileOutputStream(file);//获取实际的字节流输出对象,内容覆盖 } catch (FileNotFoundException e) { e.printStackTrace(); } String info="hello";//要输入的内容 byte[] b=info.getBytes();//将字符转化为字节数组 try { out.write(b); } catch (IOException e) { e.printStackTrace(); } try { out.close(); } catch (IOException e) { e.printStackTrace(); } } }
(2)字节输入流InputStream
public class FileDemo1 { public static void main(String[] args) { File file = new File("D:" + File.separator + "test.txt");//指定要操作的文件 InputStream In=null;//定义字节流输入对象 try { //out= new FileOutputStream(file,true);//是否字节追加函数 In= new FileInputStream(file);//获取实际的字节流输入对象 } catch (FileNotFoundException e) { e.printStackTrace(); } int len=0;//输入数组长度 byte[] b=new byte[1024];//开辟空间,读取内容 //byte[] b=new byte[(int)file.length()];//根据文件大小开辟空间 try { len=In.read(b);//读取 } catch (IOException e1) { e1.printStackTrace(); } try { In.close(); } catch (IOException e) { e.printStackTrace(); } System.out.println(new String(b,0,len)); } }
(3)字符输出流Write
public class FileDemo1 { public static void main(String[] args) { File file = new File("D:" + File.separator + "test.txt");// 指定要操作的文件 Writer write = null;// 定义字符输出流 try { write = new FileWriter(file); } catch (IOException e) { e.printStackTrace(); } String infor = "hello,heiehiehieh"; try { write.write(infor); } catch (IOException e) { e.printStackTrace(); } try { write.close(); } catch (IOException e) { e.printStackTrace(); } } }
(4)字符输入流Reader
public class FileDemo1 { public static void main(String[] args) { File file = new File("D:" + File.separator + "test.txt");// 指定要操作的文件 Reader read = null;// 定义字符输入流 try { read = new FileReader(file); } catch (IOException e) { e.printStackTrace(); } String infor = "hello,heiehiehieh"; char[] b=new char[1024];//设置字符的长度 try { int len=read.read(b); } catch (IOException e) { e.printStackTrace(); } try { read.close(); } catch (IOException e) { e.printStackTrace(); } } }
(5)字节流和字符流的区别(重点)
字节流没有缓冲区,是直接输出的,而字符流是输出到缓冲区的。因此在输出时,字节流不调用colse()方法时,信息已经输出了,而字符流只有在调用close()方法关闭缓冲区时,信息才输出。要想字符流在未关闭时输出信息,则需要手动调用flush()方法。
(6)转换流:在io中还存在一类是转换流,将字节流转换为字符流,同时可以将字符流转化为字节流。
OutputStreamWriter(OutStream out):j将字节流以字符流输出。
InputStreamReader(InputStream in):将字节流以字符流输入。
(7)打印流 PrintStream
在操作中要求输出信息时,可以采用PrintStream进行输出,它包括PrintWrite和PrintReader
(3)对象序列化
对象序列化是指将一个对象可以转化为二进制的byte流,可以以文件的方式进行保存。
将对象保存在文件的操作叫做对象的序列化操作。
将对象从文件中恢复的操作叫做反序列化操作。
一个对象如果要能序列化,它必须继承Serizliable。在实现序列化是则需要ObjectOurputStream完成,而需要反序列化时则采用ObjectInputStream。
transient关键字:变量声明为Transient后,该变量不可序列化。
(4)内存流
在项目的开发过程中,有时希望只产生临时文件,将信息输出的内存中,此时会用到内存流,内存流基本方法如下:
public class FileDemo1 { public static void main(String[] args) { String infor = "hello"; // 所有的内容向内存中输入 InputStream input = new ByteArrayInputStream(infor.getBytes()); // 所有内存的内容由outputStream输出 OutputStream out = new ByteArrayOutputStream(); int temp = 0; try { while ((temp = input.read()) != -1) { char c = Character.toUpperCase((char) temp); out.write(c);//从内存中输出,所有的内容都保存在ByteArrayOutputStream中 } } catch (IOException e) { e.printStackTrace(); } try { input.close(); } catch (IOException e) { e.printStackTrace(); } try { out.close(); } catch (IOException e) { e.printStackTrace(); } System.out.println(out.toString()); } }
(5)System类对IO的支持
(6)缓存读取
发表评论
-
Java transient关键字
2013-07-01 14:11 1294Java的serialization提供了一种持久化对象实例 ... -
java中的equals()和hashCode()详解
2013-06-23 17:21 1276java中对equals()和hashCode ... -
Java中synchronized 关键字的详解
2013-06-25 12:18 1761在了解cache的过程中,难免会涉及多线程的问题,涉及 ... -
PDF 报表合并
2012-08-14 15:34 1224import java.io.FileOutputStream ... -
java中 set,list,array(集合与数组)相互转换
2011-02-25 17:22 1897public static Object[] List2Arr ... -
互斥访问,限制最大数访问
2010-10-26 18:01 1429/** * @author jgao1 * 用法:P ... -
java中文件操作(递归删除空文件夹,删除过期文件)
2010-09-19 00:23 6432对文件的操作,大家都可能会写一些操作,其实Apache中Fil ... -
java中集合排序问题
2009-10-16 09:59 1726关键字: 集合排序 集合 排序 Iterator ... -
java中已知字体和字体大小确定字体的高度和长度
2009-09-21 17:27 4587public static void main(String ... -
java中路径处理分割
2009-09-12 16:30 5741在Java中处理一些路径相关的问题的时候,如要取出ie浏览器上 ... -
文件中的流
2009-09-07 21:08 14881、base64inputStram public clas ... -
一个javaBean的操作类,主要用于复制bean
2009-08-20 17:53 2774今天用到Bean的复制..恰好有空,写了这个Bean操作类.. ... -
classUtils
2009-08-09 22:55 2063import java.io.File; import ja ... -
java多线程
2009-07-09 21:43 2239java多线程是java基础中的重点,下面就j ... -
java的类集详解
2009-07-05 20:20 2142在学习类集之前,先明确一个概念,那就是啥叫重量级, ... -
java的反射机制
2009-07-04 11:44 1508Java反射机制是利用元类(相似于元数据的概念,元 ... -
抽象类和接口
2009-06-28 15:57 1818今天复习下抽象类和接口。做点重要的笔记 1、抽象 ... -
java中的clone机制及序列化
2009-06-25 22:50 1576在实际编程过程中,我们常常要遇到这种情况:有一个对象A ... -
java字符串的各种编码转换
2009-06-25 21:22 1343import java.io.UnsupportedEncod ... -
对于Java序列化的一次认识 转javaeye(感觉不错)
2009-06-21 22:21 1724其实这个问题简单思考一下就可以搞清楚,方法是不带状态的, ...
相关推荐
在日常的工作和学习中,你是否常常为处理复杂的数据、生成高质量的文本或者进行精准的图像识别而烦恼?DeepSeek 或许就是你一直在寻找的解决方案!它以其高效、智能的特点,在各个行业都展现出了巨大的应用价值。然而,想要充分发挥 DeepSeek 的优势,掌握从入门到精通的知识和技能至关重要。本文将从实际应用的角度出发,为你详细介绍 DeepSeek 的基本原理、操作方法以及高级技巧。通过系统的学习,你将能够轻松地运用 DeepSeek 解决实际问题,提升工作效率和质量,让自己在职场和学术领域脱颖而出。现在,就让我们一起开启这场实用又高效的学习之旅吧!
前端分析-2023071100789
基于kinect的3D人体建模C++完整代码.cpp
搞机工具箱10.1.0.7z
GRU+informer时间序列预测(Python完整源码和数据),python代码,pytorch架构,适合各种时间序列直接预测。 适合小白,注释清楚,都能看懂。功能如下: 代码基于数据集划分为训练集测试集。 1.多变量输入,单变量输出/可改多输出 2.多时间步预测,单时间步预测 3.评价指标:R方 RMSE MAE MAPE,对比图 4.数据从excel/csv文件中读取,直接替换即可。 5.结果保存到文本中,可以后续处理。 代码带数据,注释清晰,直接一键运行即可,适合新手小白。
在日常的工作和学习中,你是否常常为处理复杂的数据、生成高质量的文本或者进行精准的图像识别而烦恼?DeepSeek 或许就是你一直在寻找的解决方案!它以其高效、智能的特点,在各个行业都展现出了巨大的应用价值。然而,想要充分发挥 DeepSeek 的优势,掌握从入门到精通的知识和技能至关重要。本文将从实际应用的角度出发,为你详细介绍 DeepSeek 的基本原理、操作方法以及高级技巧。通过系统的学习,你将能够轻松地运用 DeepSeek 解决实际问题,提升工作效率和质量,让自己在职场和学术领域脱颖而出。现在,就让我们一起开启这场实用又高效的学习之旅吧!
基于ANSYS LSDyna的DEM-SPH-FEM耦合模拟滑坡入水动态行为研究,基于ANSYS LSDyna的DEM-SPH-FEM耦合的滑坡入水模拟分析研究,基于ansys lsdyna的滑坡入水模拟dem-sph-fem耦合 ,基于ANSYS LSDyna; 滑坡入水模拟; DEM-SPH-FEM 耦合,基于DEM-SPH-FEM耦合的ANSYS LSDyna滑坡入水模拟
auto_gptq-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
复件 复件 建设工程可行性研究合同[示范文本].doc
13考试真题最近的t64.txt
好用我已经解决报错问题
# 踏入C语言的奇妙编程世界 在编程的广阔宇宙中,C语言宛如一颗璀璨恒星,以其独特魅力与强大功能,始终占据着不可替代的地位。无论你是编程小白,还是有一定基础想进一步提升的开发者,C语言都值得深入探索。 C语言的高效性与可移植性令人瞩目。它能直接操控硬件,执行速度快,是系统软件、嵌入式开发的首选。同时,代码可在不同操作系统和硬件平台间轻松移植,极大节省开发成本。 学习C语言,能让你深入理解计算机底层原理,培养逻辑思维和问题解决能力。掌握C语言后,再学习其他编程语言也会事半功倍。 现在,让我们一起开启C语言学习之旅。这里有丰富教程、实用案例、详细代码解析,助你逐步掌握C语言核心知识和编程技巧。别再犹豫,加入我们,在C语言的海洋中尽情遨游,挖掘无限可能,为未来的编程之路打下坚实基础!
auto_gptq-0.4.2-cp38-cp38-win_amd64.whl
自动立体库设计方案.pptx
# 踏入C语言的奇妙编程世界 在编程的广阔宇宙中,C语言宛如一颗璀璨恒星,以其独特魅力与强大功能,始终占据着不可替代的地位。无论你是编程小白,还是有一定基础想进一步提升的开发者,C语言都值得深入探索。 C语言的高效性与可移植性令人瞩目。它能直接操控硬件,执行速度快,是系统软件、嵌入式开发的首选。同时,代码可在不同操作系统和硬件平台间轻松移植,极大节省开发成本。 学习C语言,能让你深入理解计算机底层原理,培养逻辑思维和问题解决能力。掌握C语言后,再学习其他编程语言也会事半功倍。 现在,让我们一起开启C语言学习之旅。这里有丰富教程、实用案例、详细代码解析,助你逐步掌握C语言核心知识和编程技巧。别再犹豫,加入我们,在C语言的海洋中尽情遨游,挖掘无限可能,为未来的编程之路打下坚实基础!
在日常的工作和学习中,你是否常常为处理复杂的数据、生成高质量的文本或者进行精准的图像识别而烦恼?DeepSeek 或许就是你一直在寻找的解决方案!它以其高效、智能的特点,在各个行业都展现出了巨大的应用价值。然而,想要充分发挥 DeepSeek 的优势,掌握从入门到精通的知识和技能至关重要。本文将从实际应用的角度出发,为你详细介绍 DeepSeek 的基本原理、操作方法以及高级技巧。通过系统的学习,你将能够轻松地运用 DeepSeek 解决实际问题,提升工作效率和质量,让自己在职场和学术领域脱颖而出。现在,就让我们一起开启这场实用又高效的学习之旅吧!
在日常的工作和学习中,你是否常常为处理复杂的数据、生成高质量的文本或者进行精准的图像识别而烦恼?DeepSeek 或许就是你一直在寻找的解决方案!它以其高效、智能的特点,在各个行业都展现出了巨大的应用价值。然而,想要充分发挥 DeepSeek 的优势,掌握从入门到精通的知识和技能至关重要。本文将从实际应用的角度出发,为你详细介绍 DeepSeek 的基本原理、操作方法以及高级技巧。通过系统的学习,你将能够轻松地运用 DeepSeek 解决实际问题,提升工作效率和质量,让自己在职场和学术领域脱颖而出。现在,就让我们一起开启这场实用又高效的学习之旅吧!
# 踏入C语言的奇妙编程世界 在编程的广阔宇宙中,C语言宛如一颗璀璨恒星,以其独特魅力与强大功能,始终占据着不可替代的地位。无论你是编程小白,还是有一定基础想进一步提升的开发者,C语言都值得深入探索。 C语言的高效性与可移植性令人瞩目。它能直接操控硬件,执行速度快,是系统软件、嵌入式开发的首选。同时,代码可在不同操作系统和硬件平台间轻松移植,极大节省开发成本。 学习C语言,能让你深入理解计算机底层原理,培养逻辑思维和问题解决能力。掌握C语言后,再学习其他编程语言也会事半功倍。 现在,让我们一起开启C语言学习之旅。这里有丰富教程、实用案例、详细代码解析,助你逐步掌握C语言核心知识和编程技巧。别再犹豫,加入我们,在C语言的海洋中尽情遨游,挖掘无限可能,为未来的编程之路打下坚实基础!
用deepseek变现实操流程,小白必看。
在日常的工作和学习中,你是否常常为处理复杂的数据、生成高质量的文本或者进行精准的图像识别而烦恼?DeepSeek 或许就是你一直在寻找的解决方案!它以其高效、智能的特点,在各个行业都展现出了巨大的应用价值。然而,想要充分发挥 DeepSeek 的优势,掌握从入门到精通的知识和技能至关重要。本文将从实际应用的角度出发,为你详细介绍 DeepSeek 的基本原理、操作方法以及高级技巧。通过系统的学习,你将能够轻松地运用 DeepSeek 解决实际问题,提升工作效率和质量,让自己在职场和学术领域脱颖而出。现在,就让我们一起开启这场实用又高效的学习之旅吧!