欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

[PHP] 重回基础(IO流) - 陶士涵

程序员文章站 2022-05-07 15:18:27
...
IO流用来处理设备之间的数据传输

java对数据的操作是通过流的方式

java用于操作流的对象都在IO包中

流按操作数据分为两种:字节流与字符流

流按流向分为:输入流,输出流

字符流

抽象基类:Reader Writer

文件操作,写

获取FileWriter对象,new出来,构造参数:String的文件名;此时会在指定目录下创建出文件,如果已存在,将会被覆盖;这个方法会抛出IOException异常

调用FileWriter对象的write()方法,将字符串写入到流中,参数:String字符串

调用FileWriter对象的flush()方法,刷新流

        FileWriter fw=new FileWriter("test.txt");
        fw.write("hello3");
        fw.close();//刷新并关闭

文件操作,读

获取FileReader对象,new出来,构造参数:String的文件名

调用FileReader对象的read()方法,返回读取的长度,如果到末尾会返回-1,参数:char[] 字符数组

while循环读取,条件:如果读取的长度不为-1

组合字符串

        FileReader fr=new FileReader("test.txt");
        char[] buf=new char[2];
        int len=0;
        StringBuilder sb=new StringBuilder();
        while((len=fr.read(buf))!=-1){
            sb.append(new String(buf,0,len));
        }
        System.out.println(sb.toString());

PHP版,文件操作,写

调用函数fopen(),打开文件获取file对象,参数:String的文件名,”w”写入,如果文件不存在会创建

调用fwrite()方法,直接就写到文件里去了,参数:file对象,String的字符串

调用fclose()方法,关闭流,参数:file对象

$file=fopen("test.txt","w");
fwrite($file,"hello");
fclose($file);

文件操作,读

调用函数fopen(),打开文件获取file对象,参数:String的文件名,”r”读取

调用函数fread(),得到String的字符串,参数:file对象,读取长度

while循环读取,条件:没有到文件末尾,feof($file)不为true

拼接字符串

$file=fopen("test.txt","r");
$str="";
while(!feof($file)){
    $str.=fread($file, 1);
}

echo $str;
fclose($file);