Java——IO类,字节流写数据
body, table{font-family: 微软雅黑}
table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;}
th{border: 1px solid gray; padding: 4px; background-color: #DDD;}
td{border: 1px solid gray; padding: 4px;}
tr:nth-child(2n){background-color: #f8f8f8;}
█ FileOutputStream的构造方法
|
public class IOTest {
/*
应该使用其子类
FileOutputStream(File file)
创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
FileOutputStream(String filename)
FileOutputStream(File file, boolean append) //第一个参数String也可以
创建一个向指定 File 对象表示的文件中写入数据的文件输出流。和上面不一样,不会清空原有内容,只会在后面追加
------------------------------------------------------
void write(byte[] b)
将 b.length 个字节从指定的 byte 数组写入此输出流。
void write(byte[] b, int off, int len)
将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。
abstract void write(int b) //一次写入一个字节。把高位的三个字节去掉,只写入最后字节
// 0x ff 89 12 33 这个write只写入33
将指定的字节写入此输出流。
*/
public static void main(String[] args) {
String word = "hello world"; //内存数据写到文件系统,输出流(字符流和字节流都可以)
File file = new File("1.txt");
FileOutputStream fos = null;
try{
//fos = new FileOutputStream(file);
//fos = new FileOutputStream("1.txt");
fos = new FileOutputStream("1.txt",true); //对于写文件操作,如果文件不存在,输出流会帮你createNewFile
|
fos.write(100); //写一个数字,打开文本的时候会默认去查编码表,显示该数据对应的字符(d)。写个字符串的话打开就是字符串本身;
fos.write("\r\n".getBytes()); //往文件里写换行,"\n"是字符串,参数只能是字节,所有调用方法。
//windows的换行是"\r\n";高级记事本会识别多种换行,mac 下 "\r" linux 换行 "\n"
fos.write('a'); //写进去的是 a ;
fos.flush(); //数据写完进管道最好要用这个方法把数据放到文件里
byte[] bytes = { 97 ,98 ,99 ,100 , 101};
//fos.write(bytes); //往文件里写入a,b,c,d,e;
//fos.write(bytes, 1, 3); //往文件里写入b,c,d;
byte[] bytes2 = word.getBytes();
for(int i=0 ;i<bytes.length;i++){
System.out.println("bytes2: "+bytes2[i]); //104,101,108,108,111 ;
}
}catch(IOException e){
e.printStackTrace();
}finally{
if(fos!=null){
try {
fos.close(); //这里开头不设置初始值会出错,显示未初始化;因为try里面的初始化操作可能会出现异常,一旦异常发生没有初始化成功,这里的fos就是未初始化的了。
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
|
Java——IO类,字节流写数据的更多相关文章
- Java——IO类 字节流概述
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- Java IO: 其他字节流(上)
作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本小节会简要概括Java IO中的PushbackInputStream,SequenceInputS ...
- Java IO 类一览表
下表列出了大多数(非全部)按输/输出,基于字节或字符划分的 Java IO 类.
- Java——IO类,字节流读数据
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- Java——IO类,字符流写数据
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- Java——IO类,字节流缓冲区
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- [Java IO]02_字节流
概要 字节流有两个核心抽象类:InputStream 和 OutputStream.所有的字节流类都继承自这两个抽象类. InputStream 负责输入,OutputStream 负责输出. 字节流 ...
- Java IO之字节流
Java中的输入是指从数据源等读到Java程序中,这里的数据源可以是文件,内存或网络连接,输出则是指从Java程序中写到目的地. 输入输出流可以分为以下几种类型(暂时不考虑File类) 类名 中文名 ...
- Java IO流-字节流
2017-11-05 17:48:17 Java中的IO流按数据类型分类分为两种,一是字节流,二是字符流.字符流的出现是为了简化文本数据的读入和写出操作. 如果操作的文件是文本文件,那么使用字符流会大 ...
随机推荐
- PAT第二次上机题目
5-1 #include <iostream> #include <cstdlib> using namespace std; template <class T> ...
- Java中ArrayList和LinkedList区别 时间复杂度 与空间复杂度
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. 2.对于随机访问 ...
- github+hexo搭建博客
引言 之前用阿里云弹性web托管采用wordpress搭建的个人博客,经过我使用一段时间之后发现存在很多问题: 网站的响应速度非常慢,估计打开主页需要3-4s的时间,我经过搜索发现很多人都有这 ...
- neu 1694 Primorial vs LCM 数论
1694: Primorial vs LCM 时间限制: 4 Sec 内存限制: 128 MB[提交][状态][讨论版] 题目描述 Given N (2<=N<=10^14), what ...
- gulp4小demo
本来想着用gulp搭建一个自动化构建工具,结果一顿报错,后来发现我重新安装的gulp版本是4.0.0,与3版本还是不太一样的,遂记之. Gulp 3版本Demo: const gulp = requi ...
- ninja install error
ninja install ...... CMake Error at cmake_install.cmake:36 (FILE): file INSTALL cannot find " ...
- Java读取xml
首先将xml的格式展示出来,如下 <?xml version="1.0"?> <configuration> <connectionStrings n ...
- Java基础十--接口
Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...
- C语言的的free和c++的delete的区别
首先free对应的是malloc:delete对应的是new:free用来释放malloc出来动态内存,delete用来释放new出来的动态内存空间. 应用的区别为: 1. 数组的时候int *p=( ...
- [.NET开发] NPOI导出
//导出全部 expertPara = GetExpetPara(); expertPara.BeginIndex = pager.CurrentPageIndex; expertPara.EndIn ...