-
Java文件流输入输出
2018-07-30 10:28:18文件流读入 import java.util.*; import java.io.*; public class Test { public static void main(String[] args) throws FileNotFoundException { Scanner in; in = new Scanner(new File("...文件流读入
import java.util.*; import java.io.*; public class Test { public static void main(String[] args) throws FileNotFoundException { Scanner in; in = new Scanner(new File("1.txt")); int temp; for (int i = 0; i < 5; ++i) { temp = in.nextInt(); System.out.println(temp); } } }
文件流输出
import java.io.*; public class Test { public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream("2.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8"); PrintWriter out = new PrintWriter(osw, true); out.println("Hello world!"); } }
很有意思的一点是,如果只用了文件名,放到那个类的构造的过程中,那得到的文件是空的!!
这个很有意思!
import java.io.*; public class Test { public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream("2.txt"); PrintWriter out = new PrintWriter(fos, true); out.println("Hello world!!"); } }
上面的代码也是可以的
注意看下这个代码:
import java.io.*; public class Test { public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream("2.txt"); PrintWriter out = new PrintWriter(fos, false); out.println("Hello world!!"); } }
我改成了false,这样的结果,让文件重新变为空的了。
-
Java IO 文件与文件流输入输出
2015-09-14 08:26:24文件传输是以流的方式进行,根据流向分输入流输出流。 一般以程序为参考 流向设备的 成为输出流。流向程序的成为输入流。 也可以内存与存储设备 为例。流向内存的成为输入流,反之成为输出流。 流分 字节...文件传输是以流的方式进行,根据流向分输入流输出流。
一般以程序为参考 流向设备的 成为输出流。流向程序的成为输入流。
也可以内存与存储设备 为例。流向内存的成为输入流,反之成为输出流。
流分 字节流与字符流两种方式 。
FileInputStream fs= new FileInputStream(filepath);
byte[] bts = new byte[1024];
while(fs.read(bts)!=-1)
System.out.print(new String(bts,0,temp));
fis.close(); -
C# System.IO 文件流输入输出
2017-10-25 16:24:45一、读写文本文件 可以用fileStream来读写文本文件,但是FileStream是通过字节形式来读写数据的,要把字节数据转换为文本,要自己处理编码转换。 对于文本文件的读写,通常用 StreamReader类和 StreamWriter类更...一、读写文本文件
可以用fileStream来读写文本文件,但是FileStream是通过字节形式来读写数据的,要把字节数据转换为文本,要自己处理编码转换。
对于文本文件的读写,通常用 StreamReader类和 StreamWriter类更方便。其底层是通过FileStream实现读写文本文件的。
1、构造函数
Public StreamReader(string path,Encoding encodeing)
其中path指定要读取的完整文件路径,encoding指定要使用的字节编码。例如GB2312,UTF8等编码形式
using System; using System.IO; using System.Text; namespace StreamReader { class Program { [STAThread] public static void Main(string[] args) { StreamReader sr=new StreamReader("f:\\temp.txt",Encoding.GetEncoding("gb2312")); string line; while((line=sr.ReadLine())!=null) { Console.WriteLine(line); } sr.close(); } } }
二、写入文本文件
与StreamReader类对应的类是StreamWriter类,它专门用于写入文本文件
1、构造函数
Public StreamWrite(string path,bool append,Encoding encoding);
其中path指定要写入的完整文件路径,append为false则该文件被改写,如果该文件存在,并且append为true,则数据被追加到该文件中。否则将创建新文件。Encoding指定要使用的字节编码。
(注意:append为true为追加,append为false为覆盖)
using System; using System.IO; using System.Text; namespace StreamReader { class Program { [STAThread] public static void Main(string[] args) { StreamWriter sw=new StreamWriter("f:\\temp.txt",true,Encoding.GetEncoding("gb2312")); string line="hello world!; sw.WriteLine(line); sw.close(); } } }
三、Stream类是派生出各种类的抽象类,处理字节流
其中一些派生类包括
– FileStream
– MemoryStream
– BufferedStream
– CryptoStream
方法包括:
3.1FileStream类构造函数
FileStream(string FilePath, FileMode)
FileStream(string FilePath, FileMode, FileAccess)
FileStream(string FilePath, FileMode, FileAccess, FileShare)
方法:
int Read(byte array, offset, count)
int ReadByte( )
void Write(byte array, offset, count)
void WriteByte(byte value)
枚举数:
FileMode 枚举数
– Append
– Create
/若文件已存在,则引发IO异常
– CreateNew
– Open
– OpenOrCreate
– Truncate
FileAccess 枚举数
– Read
– Write
– ReadWrite
FileShare 枚举数
– None
– Read
– Write
– ReadWrite
3.2MemoryStream类
用于从内存中读取数据和将数据写入内存中
以下是 MemoryStream 的一些方法
int Read(byte array, offset, count)
int ReadByte( )
void Write(byte array, offset, count)
void WriteByte(byte value)
void WriteTo(Stream stream)
3.3BufferedStream类
用于在缓冲区中读取和写入
• 当缓冲区满(默认缓冲区大小:4096 字节)或关闭时,内容将自动刷新输出到底层流
它有两个重载的构造函数
Public BufferedStream(Stream StName);
Public BufferedStream(Stream StName,int bsize);
3.4CryptoStream
对数据流中的数据进行加密、解密
using System.Security.Cryptography;
使用前加上上面的命名空间
四、Dirctory类
1.Directory类
目录使用 Directory类,可以用目录类创建、移动目录,并可列举目录及子目录的内容。Directory类全部是静态方法。
2、DirectoryInfo类
在使用DirectoryInfo类的属性和方法前必须先创建它的对象实例,在创建时需要指定该实例所对应的目录。例如:DirectoryInfo di=new DirectoryInfo(''c:\\mydir'');DirectoryInfo类的常用方法见表。
五、Path类
-
C++文件输入输出流+输入输出二进制文件(自定义对象)
2018-04-16 20:22:50文件流类和文件流对象文件流是以外存文件为输入输出对象的数据流。输出文件流 内存->外存输入文件流 外存->内存 文件流类流的名称 流的作用 ifstream类 从istream类派生的,用来支持从磁盘文件的...文件流类和文件流对象
文件流是以外存文件为输入输出对象的数据流。
输出文件流 内存->外存
输入文件流 外存->内存
文件流类
流的名称
流的作用
ifstream类
从istream类派生的,用来支持从磁盘文件的输入
ofstream类
从ostream类派生的,用来支持向磁盘文件的输出
fstream类
从iostream类派生的,用来支持对磁盘文件的输入输出
操作:
打开文件:
1、调用文件流的成员函数open。如
ofstream outfile;
outfile.open("f1.dat",ios::out);
2、在定义文件流对象时指定参数在声明文件流类时定义了带参数的构造函数,其中包含了打开磁盘文件的功能。
ostream outfile("f1.dat",ios::out);
输入输出格式:
ios::in
以输入方式打开文件
ios::out
以输出方式打开文件(这是默认方式),如果已有此名字的文件,则将其原有内容全部清除
ios::app
以输出方式打开文件,写入的数据添加在文件末尾
ios::ate
打开一个已有的文件,文件指针指向文件末尾
ios: :trunc
打开一个文件,如果文件已存在,则删除其中全部数据,如文件不存在,则建立新文件。如已指定了 ios::out 方式,而未指定ios: :app,ios::ate,ios: :in,则同时默认此方式
ios:: binary
以二进制方式打开一个文件,如不指定此方式则默认为ASCII方式
ios::nocreate
打开一个已有的文件,如文件不存在,则打开失败。nocrcate的意思是不建立新文件
ios:: noreplace
如果文件不存在则建立新文件,如果文件已存在则操作失败,replace 的意思是不更新原有文件
ios::in l ios::out
以输入和输出方式打开文件,文件可读可写
ios:: out | ios::binary
以二进制方式打开一个输出文件
ios::in l ios::binar
以二进制方式打开一个输入文件
注意点:
1)每一个打开的文件都有一个文件指针,该指针的初始位置由I/O方式指定,每次读写都从文件指针的当前位置开始。每读入一个字节,指针就后移一个字节。当文件指针移到最后,就会遇到文件结束EOF(文件结束符也占一个字节,其值为-1),此时流对象的成员函数eof的值为非0值(一般设为1),表示文件结束了。
2)可以用“位或”运算符“|”对输入输出方式进行组合但是不能组合互斥的方式
3)如果打开操作失败,open函数的返回值为0(假),如果是用调用构造函数的方式打开文件的,则流对象的值为0。可以据此测试打开是否成功。如
if(!outfile.open("f1.bat", ios::app) )
cout<<"open error";
向二进制文件中写入类对象,并且读取#include <iostream> #include <fstream> #include <string> using namespace std; class Data { private: int m_a; string m_b; float m_c; public: Data(int a, string b, float c) :m_a(a), m_b(b), m_c(c){} void show() { cout << "m_a:" << m_a << " , m_b:" << m_b << " , m_c:" << m_c << endl; } }; int main() { /*输出*/ ofstream out("myclass.dat", ios::app | ios::binary); if (out.is_open()!=true) { cout << "can not open myclass.dat " << endl; exit(1); } Data *dataArray[5]; dataArray[0] = new Data(0, "hello0", 0.0); dataArray[1] = new Data(1, "hello1", 1.0); dataArray[2] = new Data(2, "hello2", 2.0); dataArray[3] = new Data(3, "hello3", 3.0); dataArray[4] = new Data(4, "hello4", 4.0); out.write((char *)dataArray[0], sizeof(*dataArray[0])); out.write((char *)dataArray[1], sizeof(*dataArray[0])); out.write((char *)dataArray[2], sizeof(*dataArray[0])); out.write((char *)dataArray[3], sizeof(*dataArray[0])); out.write((char *)dataArray[4], sizeof(*dataArray[0])); out.close(); system("pause"); } int main1() { /*输入*/ ifstream in("myclass.dat", ios::binary); if (in.is_open() != true) { cout << "can not open" << endl; exit(0); } Data *dataArray[5] ; dataArray[0] = new Data(0,"",0); dataArray[1] = new Data(0, "", 0); dataArray[2] = new Data(0, "", 0); dataArray[3] = new Data(0, "", 0); dataArray[4] = new Data(0, "", 0); in.read((char *)dataArray[0], sizeof(*dataArray[0])); in.read((char *)dataArray[1], sizeof(*dataArray[0])); in.read((char *)dataArray[2], sizeof(*dataArray[0])); in.read((char *)dataArray[3], sizeof(*dataArray[0])); in.read((char *)dataArray[4], sizeof(*dataArray[0])); (*dataArray[0]).show(); (*dataArray[1]).show(); (*dataArray[2]).show(); (*dataArray[3]).show(); (*dataArray[4]).show(); in.close(); system("pause"); }
-
文件输入输出流->带缓冲的输入输出流(过滤流)->基本数据的输入输出流 链接 增强了文件输入输出流的功能
2011-08-11 20:14:02/* 流的链接 文件输入输出流->带缓冲的输入输出流(过滤流)->基本数据的输入输出流 链接 ...例如 我们只用文件流不能直接对文件写入 int char float 等类型的数据 但是我们吧这三个流连接起来 就增 -
java中输入文件流和输出文件流的使用
2020-01-15 14:28:43功能:java中输入文件流和输出文件流的使用 标题IDE:Intellij IDEA package testDemo; import java.io.*; import java.util.*; public class Test { public static void main(String[] args) throws ... -
文件输入流和输出流
2019-02-27 19:51:10注意:输入流 写入数据 输出流 写出数据 这里hello.txt中是含有文件的作为输入流传进 text.txt是即将新建的一个文本文件夹,作为输出流文件 public static void main(String[] args) { FileOutputStream ... -
低级文件输入输出函数和流文件输入输出函数
2011-06-25 11:14:00(1)流文件输入输出函数通常以f开头,是在低级文件输入输出函数的基础上加上缓存,可以以规格化的方式读取或写入数据,如fscanf,fprintf. (2)注意:printf是fprintf的特殊形式,即输出到终端;而scanf是fscanf的特殊... -
文件输入输出流和字节数组输入输出流结合使用
2020-02-20 18:22:20文件通过文件输入流,以程序为中转,程序通过字节数组输出流写入字节数组 通过字节数组输入流将字节数组读到程序中,然后通过文件输出流在还原为文件。 以程序为中心 1.图片转为字节数组 2.将字节数组还原为文件 ... -
C++ 输入输出流和文件输入输出流
2017-09-06 11:41:13输出到文件#include #include using namespace std; int i = 100; ofstream file("1.txt"); //文件输出对象,文件名绑定int main() { cout ; //输出到屏幕 file ; //输出到 -
Java实现文件写入——IO流(输入输出流详解)
2017-09-09 20:43:12输入输出的重要性: 输入和输出功能是Java对程序处理数据能力的提高,Java以流的形式处理数据。流是一组有序的数据序列,根据操作的类型,分为输入流和输出流。... -
文件输入流和输出流详解
2018-06-24 14:30:38按照流向划分为输入流和输出流 输入流:就是以程序为中心点,硬盘上的文件内容流入到程序中可以存储数据的东西中比如说数组,用read方法 输出流:就是以程序为中心点,程序中的数组或者其他的可以存储数据的东西中... -
Java文件输入输出流
2019-05-08 16:28:05首先按照流向可以分为输入流与输出流两种,这里的输入输出是站在内存的角度而言的,流向内存的为输入流,流出内存的为输出流 按照传输的单位可以分为字节流与字符流,字节流传输的是二进制字节,可操作任何类型的... -
C++输入和输出流(二)——文件输入输出
2018-01-07 18:29:32文件流类和文件流对象 C普通文件输入输出操作 C二进制文件输入输出操作 总结前言C++输入和输出流(一)——标准输入输出记录了cin和cout的一些使用总结。本文记录文件输入输出的一些代码,理论太多了,其实看完代码,... -
文件输入流 和输出流
2017-08-13 19:49:02对文件输入和输出的操作 获取文件 java.io.File File类在创建对象的时候(调用构造方法)必须指定文件路径名 写路径名时/必须是//而用\则只要\。 File类只能查询文件的信息,但是不能对文件执行其他写入或读取操作 ... -
java中的流,输入流与输出流,读写文件应该用输入流还是输出流?
2019-03-20 13:05:45输入流的指向称为源,程序从指向源的输入流中读取源中的数据。当程序需要读取数据时,就会开启一个通向数据源的流,这个数据源可以时文件、内存或者网络连接。 输出流的指向称为目的地,程序通过向输出流中写入数据... -
C++输入输出文件流
2020-02-12 20:40:38一、C++输入输出 I/O 库头文件 下列的头文件在 C++ 编程中很重要。 标准输出流(cout) 预定义的对象 cout 是 iostream 类的一个实例。cout 对象“连接”到标准输出设备,通常是显示屏。cout 是与流插入运算符 <... -
基本的输入输出流——利用输入输出流书写文件
2019-04-03 21:40:29java程序设计中的对于输入输出与文件处理有很多详细的方法,这里我只是介绍几个基本的输入输出流 1、InputStream流类 InputStream流类中包一套所有字节输入都需要的方法,可以完成最基本的从输入流读取数据的功能。... -
关于文件输入输出流
2015-02-05 22:30:30写给自己的文件输入输出流笔记 -
sy07_4:使用数据输入输出流与文件输入输出流类的应用程序
2018-07-03 20:41:35使用数据输入输出流与文件输入输出流类的应用程序 使用数据输入流DataOutputStream 和数据输出流DataInputStream 可以读取或写入任何Java 类型的数据,不用关心它们的实际长度是多少字节。一般与文件输入流... -
数据输入输出流与文件输入输出流类的小程序
2018-07-06 22:20:14程序功能:将整型数据和字符串对象通过数据输出流写到文件中。将文件中的整型数据和字符串对象通过数据输出流读出,并在屏幕上显示文件中的内容。import java.io.*; public class KY { public static void main... -
JAVA IO流之文件输入输出流
2019-06-01 12:21:15首先说一下什么是流, 流是封装数据,字节或字符有序序列的一类对象,它能够使计算机在输入输出信息时保证信息的完整与安全。输入流 Java输入流是指程序从外部介质或其它程序读入内存所需要的数据,通常称为输入源。... -
Java文件输入流输出流同时操作一个文件时,输出流写入文件内容为空
2019-04-19 14:33:39当我们使用Java处理文件时,经常会将输入流、输出流初始化在一起,(习惯方式) BufferedReader br = null; PrintWriter pw = null; try{ br = new BufferedReader(new FileReader(file)); pw = new PrintWriter... -
java 文件输入输出流 文件的复制
2016-02-24 20:44:21java 文件输入输出流 文件的复制 -
Java 文件输入字节流和输出字节流
2019-05-09 19:24:251 文件输入字节流和输出字节流 文件输入字节流和输出字节流FileInputStream 类和 FileOutputStream 类 ,他们创建的相应对象可以以字节为单位完成对文件的输出和输入操作。 FileInputStream 常用的构造方法 构造... -
Java文件输入输出字节流
2019-07-30 21:21:47下面是我学习Java输入输出流的一些笔记,希望能帮到初学Java的朋友。 2.正文 确定使用输入流还是输出流。以程序为中心,往程序输入的就使用输入流,程序往外输出就使用输出流。 流分为字节流和字符流。字节流什么... -
java文件之输入输出流
2015-05-21 15:39:05字节流: 输入流: extends InputStream FileInputStream 字节输入流 BufferedInputStream 缓冲输入流 ... ObjectInputStream 对象输入流 ... 输出流: extends OutputStream FileOutputStre -
Java字节流的使用:字节输入/输出流、文件输入/输出流、字节数组输入/输出流
2019-07-11 20:45:28在本章的第一节《Java什么是输入/输出流?》中就提到 Java 所有表示字节输入流类的父类是 InputStream,它是一个抽象类,因此继承它的子类要重新定义父类中的抽象方法。所有表示字节输出流类的父类是 OutputStream,... -
输入输出流[标准输入输出,文件输入输出,字符输入输出(get(),getline())]
2019-03-13 15:38:03以外存磁盘文件为对象进行输入和输出,即从磁盘文件输入数据,数据输出到磁盘文件。 串I/O 对内存中指定的空间进行输入和输出。通常指定一个字符数组作为存储空间(实际上可以利用该空间存储任何信息)。 C++的...
-
一天学完MySQL数据库
-
爬动的蠕虫
-
libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found
-
华为1+X认证——网络系统建设与运维(初级)
-
自定义拍照、录制视频工具类.zip
-
Linux设置启动命令
-
PPT大神之路高清教程
-
FSCapture_截长图.exe
-
项目经理成长之路
-
MySQL 事务和锁
-
2021 承接openstack云计算设计 实验环境搭建等其他设计
-
ISO7816 APDU标准 英文版
-
DingTalk_v3.3.3-RC.1.exe
-
软件开发的形式化方法
-
基于Qt的LibVLC开发教程
-
Java集合类学习
-
excep_collector
-
实验9:PWM脉冲波实验.docx
-
MySQL 主从复制 Replication 详解(Linux 和 W
-
HRD-CustomTool20200331.zip