热门搜索 :
考研考公
您的当前位置:首页正文

java中io流面试题的整理

2024-07-17 来源:伴沃教育

在我们之前学习的java知识点中,有一个模块针对于文件的复制和存储都非常便捷,面试时也是频繁的会遇到,那就是IO流。本篇对IO流一些常见的基础知识点进行了整理,并有一个实例操作。这里以题目和答案的形式展示给大家,具体看看有哪些内容可以学习的吧。

1.什么是IO流

它是一种数据的流从源头流到目的地。比如文件拷贝,输入流和输出流都包括了。输入流从文件中读取数据存储到进程(process)中,输出流从进程中读取数据然后写入到目标文件。

2.java中有几种类型的流

字符流和字节流。字节流继承inputStream和OutputStream,字符流继承自InputSteamReader和OutputStreamWriter。

3.字节流如何转为字符流

字节输入流转字符输入流通过 InputStreamReader 实现,该类的构造函数可以传入 InputStream 对象。

字节输出流转字符输出流通过 OutputStreamWriter 实现,该类的构造函数可以传入 OutputStream 对象。

4.字节流与字符流的区别

以字节为单位输入输出数据,字节流按照8位传输

以字符为单位输入输出数据,字符流按照16位传输

5.谈谈Java IO里面的常见类,字节流,字符流、接口、实现类、方法阻塞

答:输入流就是从外部文件输入到内存,输出流主要是从内存输出到文件。

IO里面常见的类,第一印象就只知道IO流中有很多类,IO流主要分为字符流和字节流。字符流中有抽象类InputStream和OutputStream,它们的子类FileInputStream,FileOutputStream,BufferedOutputStream等。字符流BufferedReader和Writer等。都实现了Closeable, Flushable, Appendable这些接口。程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。

java中的阻塞式方法是指在程序调用改方法时,必须等待输入数据可用或者检测到输入结束或者抛出异常,否则程序会一直停留在该语句上,不会执行下面的语句。比如read()和readLine()方法。

6.简述File类的基本功能

处理文件和获取文件信息,文件或文件夹的管理

除了读写文件内容其他的都可以做

7.什么是 java 序列化,如何实现 java 序列化?

序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序 Serializable 接 口 , 该 接 口 没 有 需 要 实 现 的 方 法 , implements Serializable 只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream(对象流)对象,接着,使用 ObjectOutputStream 对象的 writeObject(Object obj)方法就可以将参数为 obj 的对象写出(即保存其状态),要恢复的话则用输入流。

8.FileInputStream和FileOutputStream是什么

这是在拷贝文件操作的时候,经常用到的两个类。在处理小文件的时候,它们性能表现还不错,在大文件的时候,最好使用BufferedInputStream (或 BufferedReader) 和 BufferedOutputStream (或 BufferedWriter)

实例:

public class InputAndOutputBuffering
{
  public static void main(String args[]) throws IOException
  {                     
 
    FileInputStream fistream = new FileInputStream("pqr.txt");     BufferedInputStream bistream = new BufferedInputStream(fistream); 
 
    FileOutputStream fostream = new FileOutputStream("xyz.txt"); 
    BufferedOutputStream bostream = new BufferedOutputStream(fostream);  
 
    int temp;
    while( ( temp = bistream.read() ) != -1 )
    {
      bostream.write(temp);     
      System.out.print((char) temp);    
    }
    bostream.close();  fostream.close();
    bistream.close();   fistream.close();
  }
}

以上就是java io面试题的内容分享,很多题目都是我们在学习时遇到的基本概念,大家可以通过本篇的学习进行一个IO流回顾,然后课后找一些其他的知识点进行巩固。更多Java试题指路:

伴沃教育还为您提供以下相关内容希望对您有帮助:

关于java中io流的问题,求答案

FileOutputStream(String name,boolean append) 创建一个向具有指定 name 的文件中写入数据的输出文件流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。 new FileOutputStream("mm.txt",false);

面渣逆袭:Java基础面试题,46道Java基础八股文(4.8万字,30+手绘图...

字符串处理是Java中的重要部分,String类的不可变性和StringBuffer和StringBuilder的可变性为不同场景提供了选择。字符串常量池优化内存,而字符串拼接在Java 7后与StringBuilder的行为保持一致。Java异常处理体系,包括Error和Exception的分类,以及try-catch、finally、throw和throws的使用,对于错误处理和方法签名...

JAVA IO看了老久,会点点了。不过有点 问题 一一列出来,会的帮忙解答...

1、根据流的数据对象来分:高端流:所有的内存中的流都是高端流,比如:InputStreamReader 低端流:所有的外界设备中的流都是低端流,比如InputStream,OutputStream 如何区分:所有的流对象的后缀中包含Reader或者Writer的都是高端流,反之,则基本上为低端流,不过也有例外,比如PrintStream就是高端流 2、...

Java面试有哪些问题?

其实就简单的问了句,你了解哪些排序,我说冒泡排序,插入排序,快排,堆排序...,然后这面试官嘲讽的笑了一声,我赶紧回想了哪个有问题,结果想了下没想到哪个字说的有问题我就问 你为什么笑,然后他说堆排序是什么东西。老实说听到这句话我是真的很想直接走的,但是想下这对不起我请的一上午假。...

java中关于io流的问题

1 遍历 目录树,找到每一个.txt文件,每当找到一个txt时,启动一个新线程,解密,找出tarena所在行,并保存相关数据在内存如hashmap中,2 应用程序从hashmap中直接获取所有的内容 这种策略牺牲的是读的时间 其他差不多 第三种策略 使用lucene框架,主要是针对每个文件建立分词索引,这里意义不大,所以...

JAVA IO流问题

第二段是输入流,跟第一段相反,从外部读入数据到程序。与平台无关我个人理解就是不管外部是什么样的平台系统 xp linux or mac都可以通过这种代码读取和写数据 另外真实开发中都有封装好的类供你使用,个人写到stream的机会并不是很多。比如我就比较喜欢apache-commons io jar包中的 FileUtil类,大...

java中的io流问题 FileInputStream中的read()返回的int类型是读取字节...

不是,两个都是返回Ascll编码,bufferInputStream是缓冲流,提高效率

Java 编程基础题:io流和集合综合相关的题目不会做,哪位大神来看一下...

1、IO读取文本信息;2、TreeSet的排序问题。解决过程如下:首先通过TreeSet(Comparator<? super E> comparator) 构造方法指定TreeSet的比较器进行排序,而创建自己的实现比较器。package test.treeset;import java.util.Comparator;public class MyComparator implements Comparator<Student> { @Override public...

Java程序员面试指南目 录

Java语言基础:条件运算符、赋值运算符等面试题,数据类型转换和值传递 数组与字符串:一维和二维数组,String与StringBuffer,相关面试题 流程控制:if、switch、循环语句,以及异常处理和内存管理面试题概要:代码分析与运行结果理解 多态、内部类、面向对象概念 异常处理、内存管理、IO流 线程与并发...

Java,IO流问题,求指定

在62行加个判断。String fileName = file.getName();if(fileName.endwith(".jpg")){ //对文件做操作 }

Top