- 浏览: 562178 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (350)
- Sybase (30)
- SQL SERVER2005 (14)
- 数据库 (27)
- SSH框架 (27)
- WebService (21)
- 下载-软件收藏 (15)
- 随笔-日常使用 (9)
- Flex 相关 (13)
- Linux (11)
- Web (64)
- XML相关 (9)
- Socket相关 (1)
- Elipse (3)
- 统计报表 (11)
- 线程相关 (3)
- Java相关 (37)
- JAVASCRIPT (19)
- JAVA反射 (3)
- JSP标签 (3)
- 随笔-其他 (2)
- 随笔-设计模式 (3)
- 随笔-架构师相关 (1)
- 下载-源码 (7)
- 下载-帮助文档 (1)
- 下载-插件 (6)
- 技术-.NET (2)
- 技术-Excel VBA (8)
- 应用-地图相关 (2)
- 应用-GSM短信猫 (5)
- 应用-单点登录 (3)
- Android相关 (3)
最新评论
-
sucheng2016:
发现jconn4.jar 里面有getBlob(String) ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
sucheng2016:
java.lang.UnsupportedOperationE ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
ok123zxx:
没下文了吗
通过 Tomcat Advanced I/O 获得高性能的 Ajax tocmat6+CometProcessor -
q1345111:
大家这个问题 尚未完成方法 com.sybase.jdbc3. ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
bdk82924:
heshujing217187 写道问题同1楼一样,求解!换j ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver
转自 http://www.iteye.com/topic/180807
一.获得控制台用户输入的信息
- /** *//**获得控制台用户输入的信息
- * @return
- * @throws IOException
- */
- public String getInputMessage() throws IOException...{
- System.out.println("请输入您的命令∶");
- byte buffer[]=new byte[1024];
- int count=System.in.read(buffer);
- char[] ch=new char[count-2];//最后两位为结束符,删去不要
- for(int i=0;i<count-2;i++)
- ch[i]=(char)buffer[i];
- String str=new String(ch);
- return str;
- }
/** *//**获得控制台用户输入的信息 * @return * @throws IOException */ public String getInputMessage() throws IOException...{ System.out.println("请输入您的命令∶"); byte buffer[]=new byte[1024]; int count=System.in.read(buffer); char[] ch=new char[count-2];//最后两位为结束符,删去不要 for(int i=0;i<count-2;i++) ch[i]=(char)buffer[i]; String str=new String(ch); return str; }
可以返回用户输入的信息,不足之处在于不支持中文输入,有待进一步改进。
二.复制文件
1.以文件流的方式复制文件
- /** *//**以文件流的方式复制文件
- * @param src 文件源目录
- * @param dest 文件目的目录
- * @throws IOException
- */
- public void copyFile(String src,String dest) throws IOException...{
- FileInputStream in=new FileInputStream(src);
- File file=new File(dest);
- if(!file.exists())
- file.createNewFile();
- FileOutputStream out=new FileOutputStream(file);
- int c;
- byte buffer[]=new byte[1024];
- while((c=in.read(buffer))!=-1)...{
- for(int i=0;i<c;i++)
- out.write(buffer[i]);
- }
- in.close();
- out.close();
- }
/** *//**以文件流的方式复制文件 * @param src 文件源目录 * @param dest 文件目的目录 * @throws IOException */ public void copyFile(String src,String dest) throws IOException...{ FileInputStream in=new FileInputStream(src); File file=new File(dest); if(!file.exists()) file.createNewFile(); FileOutputStream out=new FileOutputStream(file); int c; byte buffer[]=new byte[1024]; while((c=in.read(buffer))!=-1)...{ for(int i=0;i<c;i++) out.write(buffer[i]); } in.close(); out.close(); }
该方法经过测试,支持中文处理,并且可以复制多种类型,比如txt,xml,jpg,doc等多种格式
三.写文件
1.利用PrintStream写文件
- /** *//**
- * 文件输出示例
- */
- public void PrintStreamDemo()...{
- try ...{
- FileOutputStream out=new FileOutputStream("D:/test.txt");
- PrintStream p=new PrintStream(out);
- for(int i=0;i<10;i++)
- p.println("This is "+i+" line");
- } catch (FileNotFoundException e) ...{
- e.printStackTrace();
- }
- }
/** *//** * 文件输出示例 */ public void PrintStreamDemo()...{ try ...{ FileOutputStream out=new FileOutputStream("D:/test.txt"); PrintStream p=new PrintStream(out); for(int i=0;i<10;i++) p.println("This is "+i+" line"); } catch (FileNotFoundException e) ...{ e.printStackTrace(); } }
2.利用StringBuffer写文件
- public void StringBufferDemo() throws IOException......{
- File file=new File("/root/sms.log");
- if(!file.exists())
- file.createNewFile();
- FileOutputStream out=new FileOutputStream(file,true);
- for(int i=0;i<10000;i++)......{
- StringBuffer sb=new StringBuffer();
- sb.append("这是第"+i+"行:前面介绍的各种方法都不关用,为什么总是奇怪的问题 ");
- out.write(sb.toString().getBytes("utf-8"));
- }
- out.close();
- }
public void StringBufferDemo() throws IOException......{ File file=new File("/root/sms.log"); if(!file.exists()) file.createNewFile(); FileOutputStream out=new FileOutputStream(file,true); for(int i=0;i<10000;i++)......{ StringBuffer sb=new StringBuffer(); sb.append("这是第"+i+"行:前面介绍的各种方法都不关用,为什么总是奇怪的问题 "); out.write(sb.toString().getBytes("utf-8")); } out.close(); }
该方法可以设定使用何种编码,有效解决中文问题。
四.文件重命名
- /** *//**文件重命名
- * @param path 文件目录
- * @param oldname 原来的文件名
- * @param newname 新文件名
- */
- public void renameFile(String path,String oldname,String newname)...{
- if(!oldname.equals(newname))...{//新的文件名和以前文件名不同时,才有必要进行重命名
- File oldfile=new File(path+"/"+oldname);
- File newfile=new File(path+"/"+newname);
- if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名
- System.out.println(newname+"已经存在!");
- else...{
- oldfile.renameTo(newfile);
- }
- }
- }
/** *//**文件重命名 * @param path 文件目录 * @param oldname 原来的文件名 * @param newname 新文件名 */ public void renameFile(String path,String oldname,String newname)...{ if(!oldname.equals(newname))...{//新的文件名和以前文件名不同时,才有必要进行重命名 File oldfile=new File(path+"/"+oldname); File newfile=new File(path+"/"+newname); if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名 System.out.println(newname+"已经存在!"); else...{ oldfile.renameTo(newfile); } } }
五.转移文件目录
转移文件目录不等同于复制文件,复制文件是复制后两个目录都存在该文件,而转移文件目录则是转移后,只有新目录中存在该文件。
- /** *//**转移文件目录
- * @param filename 文件名
- * @param oldpath 旧目录
- * @param newpath 新目录
- * @param cover 若新目录下存在和转移文件具有相同文件名的文件时,是否覆盖新目录下文件,cover=true将会覆盖原文件,否则不操作
- */
- public void changeDirectory(String filename,String oldpath,String newpath,boolean cover)...{
- if(!oldpath.equals(newpath))...{
- File oldfile=new File(oldpath+"/"+filename);
- File newfile=new File(newpath+"/"+filename);
- if(newfile.exists())...{//若在待转移目录下,已经存在待转移文件
- if(cover)//覆盖
- oldfile.renameTo(newfile);
- else
- System.out.println("在新目录下已经存在:"+filename);
- }
- else...{
- oldfile.renameTo(newfile);
- }
- }
- }
/** *//**转移文件目录 * @param filename 文件名 * @param oldpath 旧目录 * @param newpath 新目录 * @param cover 若新目录下存在和转移文件具有相同文件名的文件时,是否覆盖新目录下文件,cover=true将会覆盖原文件,否则不操作 */ public void changeDirectory(String filename,String oldpath,String newpath,boolean cover)...{ if(!oldpath.equals(newpath))...{ File oldfile=new File(oldpath+"/"+filename); File newfile=new File(newpath+"/"+filename); if(newfile.exists())...{//若在待转移目录下,已经存在待转移文件 if(cover)//覆盖 oldfile.renameTo(newfile); else System.out.println("在新目录下已经存在:"+filename); } else...{ oldfile.renameTo(newfile); } } }
六.读文件
1.利用FileInputStream读取文件
2.利用BufferedReader读取
在IO操作,利用BufferedReader和BufferedWriter效率会更高一点
3.利用dom4j读取xml文件
- /** *//**从目录中读取xml文件
- * @param path 文件目录
- * @return
- * @throws DocumentException
- * @throws IOException
- */
- public Document readXml(String path) throws DocumentException, IOException...{
- File file=new File(path);
- BufferedReader bufferedreader = new BufferedReader(new FileReader(file));
- SAXReader saxreader = new SAXReader();
- Document document = (Document)saxreader.read(bufferedreader);
- bufferedreader.close();
- return document;
- }
/** *//**从目录中读取xml文件 * @param path 文件目录 * @return * @throws DocumentException * @throws IOException */ public Document readXml(String path) throws DocumentException, IOException...{ File file=new File(path); BufferedReader bufferedreader = new BufferedReader(new FileReader(file)); SAXReader saxreader = new SAXReader(); Document document = (Document)saxreader.read(bufferedreader); bufferedreader.close(); return document; }
七.创建文件(文件夹)
1.创建文件夹
- /** *//**创建文件夹
- * @param path 目录
- */
- public void createDir(String path)...{
- File dir=new File(path);
- if(!dir.exists())
- dir.mkdir();
- }
/** *//**创建文件夹 * @param path 目录 */ public void createDir(String path)...{ File dir=new File(path); if(!dir.exists()) dir.mkdir(); }
2.创建新文件
- /** *//**创建新文件
- * @param path 目录
- * @param filename 文件名
- * @throws IOException
- */
- public void createFile(String path,String filename) throws IOException...{
- File file=new File(path+"/"+filename);
- if(!file.exists())
- file.createNewFile();
- }
/** *//**创建新文件 * @param path 目录 * @param filename 文件名 * @throws IOException */ public void createFile(String path,String filename) throws IOException...{ File file=new File(path+"/"+filename); if(!file.exists()) file.createNewFile(); }
八.删除文件(目录)
1.删除文件
- /** *//**删除文件
- * @param path 目录
- * @param filename 文件名
- */
- public void delFile(String path,String filename)...{
- File file=new File(path+"/"+filename);
- if(file.exists()&&file.isFile())
- file.delete();
- }
/** *//**删除文件 * @param path 目录 * @param filename 文件名 */ public void delFile(String path,String filename)...{ File file=new File(path+"/"+filename); if(file.exists()&&file.isFile()) file.delete(); }
2.删除目录
要利用File类的delete()方法删除目录时,必须保证该目录下没有文件或者子目录,否则删除失败,因此在实际应用中,我们要删除目录,必须利用递归删除该目录下的所有子目录和文件,然后再删除该目录。
- /** *//**递归删除文件夹
- * @param path
- */
- public void delDir(String path)...{
- File dir=new File(path);
- if(dir.exists())...{
- File[] tmp=dir.listFiles();
- for(int i=0;i<tmp.length;i++)...{
- if(tmp[i].isDirectory())...{
- delDir(path+"/"+tmp[i].getName());
- }
- else...{
- tmp[i].delete();
- }
- }
- dir.delete();
- }
- }
/** *//**递归删除文件夹 * @param path */ public void delDir(String path)...{ File dir=new File(path); if(dir.exists())...{ File[] tmp=dir.listFiles(); for(int i=0;i<tmp.length;i++)...{ if(tmp[i].isDirectory())...{ delDir(path+"/"+tmp[i].getName()); } else...{ tmp[i].delete(); } } dir.delete(); } }
3、读文件
- /** *//**读文件
- * @param path
- * @return
- * @throws IOException
- */
- public String BufferedReaderDemo(String path) throws IOException...{
- File file=new File(path);
- if(!file.exists()||file.isDirectory())
- throw new FileNotFoundException();
- BufferedReader br=new BufferedReader(new FileReader(file));
- String temp=null;
- StringBuffer sb=new StringBuffer();
- temp=br.readLine();
- while(temp!=null)...{
- sb.append(temp+" ");
- temp=br.readLine();
- }
- return sb.toString();
- }
/** *//**读文件 * @param path * @return * @throws IOException */ public String BufferedReaderDemo(String path) throws IOException...{ File file=new File(path); if(!file.exists()||file.isDirectory()) throw new FileNotFoundException(); BufferedReader br=new BufferedReader(new FileReader(file)); String temp=null; StringBuffer sb=new StringBuffer(); temp=br.readLine(); while(temp!=null)...{ sb.append(temp+" "); temp=br.readLine(); } return sb.toString(); }
- /** *//**读文件
- * @param path
- * @return
- * @throws IOException
- */
- public String FileInputStreamDemo(String path) throws IOException...{
- File file=new File(path);
- if(!file.exists()||file.isDirectory())
- throw new FileNotFoundException();
- FileInputStream fis=new FileInputStream(file);
- byte[] buf = new byte[1024];
- StringBuffer sb=new StringBuffer();
- while((fis.read(buf))!=-1)...{
- sb.append(new String(buf));
- buf=new byte[1024];//重新生成,避免和上次读取的数据重复
- }
- return sb.toString();
- }
/** *//**读文件 * @param path * @return * @throws IOException */ public String FileInputStreamDemo(String path) throws IOException...{ File file=new File(path); if(!file.exists()||file.isDirectory()) throw new FileNotFoundException(); FileInputStream fis=new FileInputStream(file); byte[] buf = new byte[1024]; StringBuffer sb=new StringBuffer(); while((fis.read(buf))!=-1)...{ sb.append(new String(buf)); buf=new byte[1024];//重新生成,避免和上次读取的数据重复 } return sb.toString(); }
/** * * 按行读取文件文件 ,防止中文乱码 * * @param fileName * @author bdk * @date 2011-7-20 上午02:20:14 */ public static void read(String fileName) { File file = null; InputStreamReader read = null; BufferedReader br = null; try { file = new File(fileName); read = new InputStreamReader(new FileInputStream(file), "UTF-8"); br = new BufferedReader(read); String strIn = null; while ((strIn = br.readLine()) != null) { System.out.println(strIn); } } catch (Exception e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (read != null) { try { read.close(); } catch (IOException e) { e.printStackTrace(); } } } }
写文件中文乱码
public static void main(String[] args) throws IOException { String s = "comunicação"; try { File f = new File("a.txt"); if (!f.exists()) { f.createNewFile(); } OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f), "UTF-8"); BufferedWriter writer = new BufferedWriter(write); writer.write(s); writer.close(); } catch (Exception e) { System.out.println("写文件内容操作出错"); e.printStackTrace(); } }
发表评论
-
Jav解析soap的xml
2015-05-17 21:13 788解析xml import org.dom4j.Docume ... -
Json转换利器Gson
2013-12-13 08:59 516转: http://blog.csdn.net/lk_blog ... -
asm jar包冲突的问题和解决方法(转)
2013-11-03 01:48 1138asm jar包冲突的问题和解决方法 在用Spring+Hi ... -
Spring ehCache 示例
2013-04-28 15:46 774http://blog.chinaunix.net/uid-2 ... -
将json字符串转换为bean (json-lib)
2013-04-26 15:26 1005Json-lib可以将Java对象转成json格式的字符串,也 ... -
QPID学习
2013-03-09 14:13 4440最近在看QPID 首先看下QPID是什么,他是个消息队列,用 ... -
短网址的原理和实现
2013-01-22 15:36 15359微博上经常会看到类似 http://t.cn/Afafhe 这 ... -
JAVA实现栈(stack)与堆(heap)
2013-01-11 17:22 915Java实现 栈(stack)与堆(heap) 上次写过一 ... -
Tomcat7.0下实现的websocket 代码
2013-01-07 19:37 980测试环境: JDK1.6 Tomcat7.0.30 ... -
java IO写入文件效率——几种方法比较
2012-11-02 11:17 1074总结: 如果按字符和字节来分类,除方法1和2,其余都是按字符 ... -
Apache自带压力测试工具AB的使用方法
2012-09-18 11:26 1304使用例子: 1、打开dos界面,开始-》运行-》输入“cmd ... -
MyEclipse6.01注册码,Java源码
2012-07-02 16:12 1094不用为注册码犯愁了.. 下面是在网上搜索到的一段代码 ,分享给 ... -
ant解决OutOfMemoryError 或者Error starting modern compiler
2012-05-11 16:36 1372起因:在执行ant脚本的时候 ,报的错误是 Error st ... -
Java中使用Json 用到的jar包
2012-02-22 08:25 1368操作json开源的Jar包很多 ,那么多的jar选择哪个好呢 ... -
JsonUtils 类,将任意数据格式转换为Json格式
2012-02-21 09:12 1804package json; ... -
Java生成二维码或一维条形码(待续 未完)
2012-02-13 08:22 1756Java生成二维码或一维条形码(待续) 前段时间用了“ ... -
Java操作SVN(待续)
2012-02-02 08:31 1014一般大家都会直接使用snv客户端或者在eclipse中svn插 ... -
使用BeanUtils类简化request和resultset转换
2012-02-01 15:41 1082转:http://xdwangiflytek.iteye.co ... -
HttpClient 网络抓取
2012-01-20 10:08 1123利用 HttpClient 进行抓取 ... -
用Java实现按字节长度截取中英文数字字符串的方法总结 .
2011-12-20 16:59 1649转:http://blog.csdn.net/yanwudin ...
相关推荐
1 MFC文件操作大全 1.创建文件夹 CreateDirectory(%%1,NULL); 2.创建文件 CFile file; file.Open(%%1,CFile::modeCreate|CFile::modeWrite); 3.删除文件 DeleteFile(%%1); 4.删除文件夹 Remove...
java文件操作大全.chm
Visual_C++_MFC文件操作大全
这里汇集了很多文件的操作,是多年开发总结出来的,很好用的!
根据提供的信息,我们可以总结出以下关于C#文件操作的关键知识点: ### 1. 创建文件夹 在C#中,可以通过`System.IO`命名空间中的`Directory.CreateDirectory`方法来创建一个新的文件夹。 ```csharp using System....
本篇文章将详细探讨`jqm文件上传`、`jqm的表单操作`、`jqm的ajax使用`以及相关的`文件操作demo`,帮助你掌握如何在jqm环境中实现文件,尤其是图片的上传功能。 1. **jqm文件上传** jQuery Mobile提供了对HTML5表单...
顾名思义,主要介绍C语言的文件操作函数,无须多言
3. 文件操作命令: - `login` 和 `logout`:用于用户登录和注销,确保文件访问的安全性。 - `Create`:创建新文件,需要分配空间并记录文件元数据。 - `Delete`:删除文件,需处理引用计数和释放存储空间。 - `...
在Microsoft Foundation Classes (MFC) 中,VC++ 6.0 提供了强大的文件操作功能,使得开发者可以方便地进行各种文件操作,如打开、关闭、读取、写入、创建以及删除文件。MFC 是 Microsoft 为 Windows 平台上的 C++ ...
本文将基于“C语言文件操作及函数大全”文档,深入解析C语言中的文件操作概念、分类以及具体操作方法,帮助读者更好地理解和运用C语言中的文件处理技巧。 #### 文件的概念与分类 在C语言中,文件被视为一组相关...
操作系统实验四的核心目标是设计和实现一个简单的...通过这样的实验,学生能够深入理解文件系统如何管理磁盘空间,跟踪文件元数据,以及如何执行基本的文件操作,这对理解和设计更复杂的操作系统有着至关重要的作用。
clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值
本项目“C++使用hookapi监控文件操作程序”正是基于这一技术,用于实现对文件系统事件的实时监控。下面将详细介绍相关的知识点。 首先,`hookapi`是指Windows API中的钩子(Hook)机制。钩子是一种让程序能够监视...
- **错误处理**:在进行文件操作时,应添加适当的错误处理代码,如`Try...Catch`结构,以应对可能出现的异常情况,如文件不存在、权限问题等。 - **定位**:可以使用`Seek`方法改变读写位置,`Tell`方法获取当前...
CANoe/CAPL 文件操作脚本是用于自动化处理CANoe环境中的配置、数据记录和分析的编程工具。CANoe是一款广泛应用于汽车电子系统的诊断、测试和测量的软件,而CAPL(CANoe Application Programming Language)是CANoe内...
操作系统实验,用C语言实现自己的文件系统。设有一个容量为2M字节的磁盘,磁盘中扇区(block)的大小为512字节,所有扇区可以视为构成一个线形存储空间,从0开始,顺序给每个扇区分配一个编号,视为物理扇区号,借助...
操作系统课程设计是IT学习中的重要环节,特别是在模拟真实操作系统功能时,如...这个过程将涉及到大量的编程实践,包括数据结构的设计、内存管理、文件操作接口的实现等,这些都是成为合格的IT专业人员所必备的技能。
使用文件来模拟外存,进行数据结构设计和操作算法的设计,实现一个文件系统并实现基本的文件操作(为了简便文件系统,不考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容)。要求: 1、对程序的每一部分...
原数据存放在StreamingAsset中,首次启动复制到persistentDataPath,以后进行更新和读取都在persistentDataPath中使用File进行文件操作。需要恢复书序的时候从StreamingAsset中获取即可。
将一系列图片文件存储到MongoDB中 java操作mongodb存储文件