javase-io流变量在new前,为什额还需要赋值为null。

问题描述

io流变量在new前,为什额还需要赋值为null。
fileinputstream in=null;
try{
in=new fileinputstream(f);
}catch{
}finally{
if(in!=null) in.close();
}
定义变量in时,为什么还需要赋值为null;
这里的概念不太清楚。

又想起了,有些时候定义的基本类型的变量eclipse也提示需要赋一个初始值,

解决方案

这是因为JAVA要求在使用变量之前必须要初始化,JAVA不像C/C++一样,在定义局部变量的时候会给一个初始值。

解决方案二:
因为你在后面要用,如果写在try catch中finally无法访问,
另外赋值null会在内存中有一块儿空间,否则没有。

解决方案三:
所有的语言都有这样的规范要求,但不是强制的。你试着不赋值,看看编译时会不会报错!

解决方案四:
因为在try中定义变量的话 变量 in是一个局部变量作用范围只在Try{}里面,finally{}里面没法调用。所以定义在外面的,变量初始化就不用说了

解决方案五:
给变量赋初始值,方便在finally里使用判断,不然只是声明了变量,没值,后面怎么做值得判断

解决方案六:
Java中使用变量前需要先赋值

时间: 2024-10-02 05:45:41

javase-io流变量在new前,为什额还需要赋值为null。的相关文章

IO流详细

 API中IO流的结构图 IO(intput output)流 特点:读写之间没有直接联系,读入数组,从数组写入硬盘 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 流按操作数据分两种:字节流(处理图片等)和字符流(早期只有字节流,字节流能处理所有文件,但是文本文件是很常见的,为了方便所以弄了字符流,内部融合了编码表) 流按流向分为:输入流,输出流(针对内存) IO流常用的基类(大量运用了装饰者模式) 字节流的抽象类     Inp

Java基础-19总结IO流,异常try…catch,throws,File类

1:异常(理解) (1)程序出现的不正常的情况. (2)异常的体系 Throwable |--Error 严重问题,我们不处理. |--Exception |--RuntimeException 运行期异常,我们需要修正代码 |--非RuntimeException 编译期异常,必须处理的,否则程序编译不通过 package cn.itcast_01; /*  * 异常:程序出现了不正常的情况.  *   * 举例:今天天气很好,班长出去旅游.骑着自行车,去山里面呼吸新鲜空气.  *  问题1:

java 标准Io流

问题描述 我想问下,为什么java里面要有标准IO流,有了字节流和字符流,不就可以了吗.为什么啊,我晕. 问题补充:blessed24 写道 解决方案 标准IO指计算机的的输入设备和输出设备,搞这些的吧,为了兼容不同系统,不同物理设备的输入与输出!解决方案二:引用是不是说,只有标准Io实现了跨平台,其他的流都不是跨平台的?标准IO 一般所有的操作系统都是一样的...windows要遵循,linux也一样吧....解决方案三:引用inpublic static final InputStream

Java IO: 流

原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) Java IO流是既可以从中读取,也可以写入到其中的数据流.正如这个系列教程之前提到过的,流通常会与数据源.数据流向目的地相关联,比如文件.网络等等. 流和数组不一样,不能通过索引读写数据.在流中,你也不能像数组那样前后移动读取数据,除非使用RandomAccessFile 处理文件.流仅仅只是一个连续的数据流. 某些类似PushbackInputStream 流的实现允许你将数据重新推回

Java基础-21总结字符流,IO流编码问题,实用案例必做一遍

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:字符流(掌握)  // 字节流读取中文可能出现的小问题(所以用字符流输入输出中文) package cn.itcast_01; import java.io.FileInputStream; import ja

如何快速精确的理解io流的使用及其原理

问题描述 如何快速精确的理解io流的使用及其原理 io的输入和输出的原理和使用,在使用文件存储前想更好的理解io 解决方案 存储的目标(比如一个文件)当做水池,链接水池和外界的是水管,这个水管往水池里灌水,或者把水池里的水泵出来,形成"流". 往里灌水(写文件)时,对于水管(流)来说,是"将水管里的水输出到水池里",此时对于流来说是输出流: 往外排水(读文件)时,对于水管(流)来说,是"将水池里的水输入到水管里",此时对于流来说是输入流. 一开始

java基础知识——网络编程、IO流

IO流 字节流:处理字节数据的流对象,计算机中最小数据单元就是字节.InputStream OutputStream 字符流:字符编码问题,将字节流和编码表封装成对象就是字符流.Reader Write 读.写都会发生 IO 异常.io 异常的处理方式 :io 一定要写 finally.fw.flush();//刷新缓冲区,fw.close()://关闭流. IO 中的使用到了一个设计模式: 装饰设计模式. 装饰设计模式解决:对一组类进行功能的增强. 包装:写一个类(包装类)对被包装对象进行包装

Java IO流 文件传输基础_java

一.文件的编码 package com.study.io; /** * 测试文件编码 */ public class EncodeDemo { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { String s="好好学习ABC"; byte[] bytes1=s.getBytes();//这是把字符串转换成字符数组,转换成的字节序列用的是

Java---IO加强(3)-IO流的操作规律

一般写关于操作文件的读取的几个通用步骤!!! 1.明确源和目的. 源:InputStream Reader 一定是被读取的. 目的:OutputStream Writer 一定是被写入的. 2.处理的数据是否是纯文本的数据? 是:使用字符流.Reader Writer 否:使用字节流. InputStream OutputStream 到这里,两个明确确定完,就可以确定出要使用哪个体系.接下来,就应该明确具体这个体系要使用哪个具体的对象.(看顶层) 3.明确数据所在的设备. 到这里,具体使用哪个