try {
Enumeration portList = CommPortIdentifiergetPortIdentifiers();
while (portListhasMoreElements())
{
CommPortIdentifier portId = (CommPortIdentifier) portListnextElement();
if (portIdgetPortType() == CommPortIdentifierPORT_SERIAL)//如果端口类型是串口则判断名称
{
if(portIdgetName()equals("COM1")){//如果是COM1端口则退出循环
break;
}else{
portId=null;
}
}
}
SerialPort serialPort = (SerialPort)portIdopen("Serial_Communication", 1000);//打开串口的超时时间为1000ms
serialPortsetSerialPortParams(9600,SerialPortDATABITS_8,SerialPortSTOPBITS_1,SerialPortPARITY_NONE);//设置串口速率为9600,数据位8位,停止位1们,奇偶校验无
InputStream in = serialPortgetInputStream();//得到输入流
OutputStream out = serialPortgetOutputStream();//得到输出流
//进行输入输出 *** 作
// *** 作结束后
inclose();
outclose();
serialPortclose();//关闭串口
} catch (PortInUseException e) {
eprintStackTrace();
} catch (UnsupportedCommOperationException e) {
eprintStackTrace();
} catch (IOException e) {
eprintStackTrace();
}
}import javaio;
public class ReadFile {
public static void main(String[] args) {
try {
File ff = new File(args[0]); //args[0]是你从控制台输入的文件路径,可以改为具体文件路径
FileInputStream fis = new FileInputStream(ff);
int n;
byte [] buff= new byte[1000];
// 从文件读取数据
while ((n = fisread(buff)) != -1) {
// 写入Systemout中
Systemoutwrite(buff, 0, n);
}
} catch (IOException e) {
Systemoutprintln("没有找到文件");
Systemexit(1);
}
}
}基于流(Stream)的解决
流是单向的有方向性的描述信息流的对象,InputStream是输入流的接口,对程序来说是入,是读,可以从文件读,缓存区读,网络节点读等等
写入文件,对程序来说是出,是写,就是FileOutputStream,可以写入int也可以byte[]
所以解决方案就是从InputStream中读出内存到byte[]中然后,使用FileOutputStream写入文件中比如:其中一种写法
InputStream is = new FileInputStream("atxt");
FileOutputStream fos = new FileOutputStream("btxt");
byte[] b = new byte[1024];
while((isread(b)) != -1){
foswrite(b);
}
isclose();
fosclose();分为读字节,读字符两种读法
◎◎◎FileInputStream 字节输入流读文件◎◎◎
public class Maintest {
public static void main(String[] args) throws IOException {
File f=new File("G:\\just for fun\\xiangweitxt");
FileInputStream fin=new FileInputStream(f);
byte[] bs=new byte[1024];
int count=0;
while((count=finread(bs))>0)
{
String str=new String(bs,0,count); //反复定义新变量:每一次都 重新定义新变量,接收新读取的数据
Systemoutprintln(str); //反复输出新变量:每一次都 输出重新定义的新变量
}
finclose();
}
}
◎◎◎FileReader 字符输入流读文件◎◎◎
public class Maintest {
public static void main(String[] args) throws IOException {
File f=new File("H:\\just for fun\\xiangweitxt");
FileReader fre=new FileReader(f);
BufferedReader bre=new BufferedReader(fre);
String str="";
while((str=brereadLine())!=null) //●判断最后一行不存在,为空
{
Systemoutprintln(str);
}
breclose();
freclose();
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)