JavaStreamAndFileAndIO笔记

package com.hqy.String;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class JavaStreamAndFileAndIO {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
    /*
     * 一.读取控制台输入:System.in
     * 		为了获得一个绑定到控制台的字符流,将System.in包装在一个BufferedREADER
     * 对象中来创建一个字符流
     */
	 BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
	
	 //1.   我们便可以使用read()方法从控制台读取一个字符,或者用readLine()方法读取一个字符串。
	 //调用read()方法,它从输入流读取一个字符并把该字符作为整数值返回。 当流结束的时候返回-1。该方法抛出IOException。
	 try {
		System.out.println(br.read());   //(read()返回的是整形值)
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	 
	System.out.println("______________________________________________"); 
	 
	 //2.   使用 BufferedReader 在控制台读取字符
	 String learn;
	 do{
		 learn=br.readLine();
		 System.out.println(learn);
	 }while(!learn.equals("end"));
	
	 
	 System.out.println("_______________________________________________");
	 
	 
	 /*
	  * 二.  读写文件FileInputStream 和FileOutputStream:
	  *       有多种构造方法可用来创建对象
	  */
	 
	 //1. 使用字符串类型的文件名来创建一个输入流对象来读取文件:
	    File f = new File("a.txt");
		FileOutputStream fop = new FileOutputStream(f);
		// 构建FileOutputStream对象,文件不存在会自动新建
		
		OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
		// 构建OutputStreamWriter对象,参数可以指定编码,默认为操作系统默认编码,windows上是gbk
		
		writer.append("中文输入");
		// 写入到缓冲区
		
		writer.append("\r\n");
		//换行
		
		writer.append("English");
		// 刷新缓存冲,写入到文件,如果下面已经没有写入的内容了,直接close也会写入
		
		writer.close();
		//关闭写入流,同时会把缓冲区内容写入文件,所以上面的注释掉
		
		fop.close();
		// 关闭输出流,释放系统资源

		FileInputStream fip = new FileInputStream(f);
		// 构建FileInputStream对象
		
		InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
		// 构建InputStreamReader对象,编码与写入相同

		StringBuffer sb = new StringBuffer();
		while (reader.ready()) {
			sb.append((char) reader.read());
			// 转成char加到StringBuffer对象中
		}
		System.out.println(sb.toString());
		reader.close();
		// 关闭读取流
		
		fip.close();
		// 关闭输入流,释放系统资源
	 
	 
		
	System.out.println("__________________________________________");
	
	/*
	 * 三.java目录
	 */
	
	/*
	 * 创建目录:
     *         File类中有两个方法可以用来创建文件夹:
     *              mkdir( )方法创建一个文件夹,成功则返回true,失败则返回false。失败表明File对象指定的路径已经存在,或者由于整个路径还不存在,该文件夹不能被创建。
     *              mkdirs()方法创建一个文件夹和它的所有父文件夹。
	 */
	 
	String dirname = "tmp/user/java";
    File d = new File(dirname);
    // 现在创建目录
    System.out.println(d.mkdirs());
    
    //在tmp文件夹下创建一文件
    String dir="tmp/b.txt";
    FileOutputStream fps=new FileOutputStream(new File(dir));
    OutputStreamWriter osr=new OutputStreamWriter(fps);
    osr.append("helloworld\n");
    osr.append("goodbye");
    osr.close();
    fps.close();
    
    
    
    
    /*
     * 读取目录
              一个目录其实就是一个File对象,它包含其他文件和文件夹。
             如果创建一个File对象并且它是一个目录,那么调用isDirectory( )方法会返回true。
             可以通过调用该对象上的list()方法,来提取它包含的文件和文件夹的列表。
             下面展示的例子说明如何使用list()方法来检查一个文件夹中包含的内容:
     */
    String dirname2="tmp/";  //(注意不能和上面的String dirname重名,以为String不可更改)
    File f1=new File(dirname2);
    if(f1.isDirectory()){
    	System.out.println("Directory:"+dirname2);
    	String[] s=f1.list();
    	for(String ss:s){
    		File f2=new File(dirname2+"/"+ss);
    		if(f2.isDirectory()){
    			System.out.println(ss+" is Directory");
    		}else{
    			System.out.println(ss+" is a File");
    		}
    	}
    }else{
    	System.out.println(dirname+" is not Directory");
    }
  }}

注:部分内容引用自:https://www.w3cschool.cn/java/

智能网联汽车的安全员高级考试涉及多个方面的专业知识,包括但不限于自动驾驶技术原理、车辆传感器融合、网络安全防护以及法律法规等内容。以下是针对该主题的一些核心知识点解析: ### 关于智能网联车安全员高级考试的核心内容 #### 1. 自动驾驶分级标准 国际自动机工程师学会(SAE International)定义了六个级别的自动驾驶等级,从L0到L5[^1]。其中,L3及以上级别需要安全员具备更高的应急处理能力。 #### 2. 车辆感知系统的组成与功能 智能网联车通常配备多种传感器,如激光雷达、毫米波雷达、摄像头超声波传感器等。这些设备协同工作以实现环境感知、障碍物检测等功能[^2]。 #### 3. 数据通信与网络安全 智能网联车依赖V2X(Vehicle-to-Everything)技术进行数据交换,在此过程中需防范潜在的网络攻击风险,例如中间人攻击或恶意软件入侵[^3]。 #### 4. 法律法规要求 不同国家地区对于无人驾驶测试及运营有着严格的规定,考生应熟悉当地交通法典中有关自动化驾驶部分的具体条款[^4]。 ```python # 示例代码:模拟简单决策逻辑 def decide_action(sensor_data): if sensor_data['obstacle'] and not sensor_data['emergency']: return 'slow_down' elif sensor_data['pedestrian_crossing']: return 'stop_and_yield' else: return 'continue_driving' example_input = {'obstacle': True, 'emergency': False, 'pedestrian_crossing': False} action = decide_action(example_input) print(f"Action to take: {action}") ``` 需要注意的是,“橙点同学”作为特定平台上的学习资源名称,并不提供官方认证的标准答案集;建议通过正规渠道获取教材并参加培训课程来准备此类资格认证考试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值