Published: 2016-11-20 20:30:00
tags: Java
各种语言的读写
C语言中
控制台读写
scanf() printf()
gets() puts()
getchar() putchar()
文件读写
JAVA中File类以及IO类
文件类以及字符流和字节流的使用
控制台读写
Scanner类
System.out.read()
System.out.println()
文件读写
通过叠加多个对象来提供所期望的功能
源端:
接收端 文件 控制台 网络
通信: 按照字节,字符、字 、行、整个文件、顺序、随机、缓冲
path:可执行文件的路径,javac.exe java.exe
Classpath: class类所在的文件路径
System 类
out 是PrintStream对象
System.in 标准输入串对象,字节数据
有关的概念:
Stream
文件读取步骤:
第一步:打开文件并指定文件的读写方式:实例化并指定读写方式
第二步:使用对应的写入方法
读出方法
第三步:关闭文件
输入输出中
文件系统或者传输系统
文件目录:java.io.File 文件路径类的抽象代表需要和其他相关类配合使用
输入部分:
InputStream 抽象类 位流
Reader 抽象类 字符流
输出部分:
OutputStream 抽象类 位流
Writer 抽象类 字符流
输入输出组合
RandomAccessFile
位流
InputStream OutputStream
FileInputStream FileOutputStream
ByteArrayInputStream ByteArrayOutputStream
StringInputStream
PipedInputStream PipedOutputStream
SequenceInputStream
FilterInputStream FilterOutputStream
DataInputStream DataOutputStream 基本数据类型 int double boolean
BufferdInputStream BufferdOutputStream 增加缓冲区功能
PushbackInputStream
PrintStream 默认使用操作系统的编码来处理对应的字符串转换动作
字符流
Reader Writer InputStreamReader OutputStreamReader
FileReader OutReader
CharArrayReader CharArrayWriter
BufferedReader BufferedWriter
PrintWriter
FilterReader FilterWriter
PushbackReader
缓冲
IO的异常类
叠加多个对象来提供所需要的功能
通过叠加多个对象来提供所期望的功能
异常处理机制
为可能发生的错误提供的机制
通过继承来扩展接口
Scala的读写
控制台读入以及读取本地文件
1.控制台输入
print("控制台输入,请输入:")
val content = Console.readLine()
println(content)
2.文件读入
println("读取本地文件:")
val localfile = Source.fromFile("D:\\my\test.txt","GBK")
for(line
println(line)
}
localfile.close()
写到文件,显示到屏幕
2、文件写入
val writer = new PrintWriter(new File("test.txt"))
for(i
writer.println(i)
writer.close()
}
写到屏幕中
println(writer)
Python中的读写
控制台读写
input()
raw_input()
print()
函数加方法
open()
file.read()
file.close()
模块的方法-包--例如pandas
pandas.read_csv()
pandas.read_table()
R语言中的读写
自带的包
read.table()
read.csv()
write.table()
write.csv()
第三方包
注意操作系统
Windows和linux的文本文件的格式有些不同。
Windows使用’\r\n’表示一行的结束和新的一行的开始,
而linux用’\n’表示一行的结束和新的一行的开始,
因此在linux上多行的文件在windows上的一些程序中变成了一行 。注意读取文件时的系统,以及文件来源的操作系统
数据类型查看以及转换
在编译期间期间确定数据类型,要求在使用变量之前必须先声明其数据类型,C--Java
在运行期才确定其数据类型,通过第一次赋值类型来确定数据类型
数据类型转换,不同的数据类型运算,必须经过显式的类型转换函数处理后才能进行运算。
C语言,显示转化
数据类型:
基本类型
short int long
float double char
构造类型以及其他
array point struct union enum void
类型转换
(type_name) expression
type_name为要转换到的数据类型,expression为表达式。例如:
(float) a; //把a转换为实型
(int)(x+y); //把x+y的结果转换为整型
(float) 100;
JAVA语言
数据类型
String StringBuffer
Array
List: ArrayList LinkedList
Set :
Map :
泛型<>
Iterator 迭代器,Iterable接口,逐一访问容器内元素的方法
Iterator类
使用Collection类的Iterator,可以方便的遍历Vector, ArrayList, LinkedList等集合元素
数据类型转换
Scala数据类型转换
数据类型:Boolean
Char Short
Int Long
Float Double
Byte String
Symbol 符号类型
Tuple 元组:访问元组的内容通过变量名._N的方式进行
Tuple ()
Array ArrayBuffer
List ListBuffer
Queue
Stack
Map
Set
泛型[]
Stream(流)
iterator: Iterator[(String, Any)]
iterator: Iterator[(String, (String,Any))]
iterator: Iterator[(String, (Any,Any))]
iterator: Iterator[(String, (Any,Any,Any))]
类:类和对象 类型比类更为具体,
typeOf[]
.getClass
类型推断--scala语言
转换--隐式转换
隐式转换函数 implicit
请使用REPL来熟悉Scala语言
Scala编译器自动使用最后一个表达式的返回值作为函数的返回值
toList 、toSet 、toArray、toSeq
Python数据类型转换
type()
.type
Tuple ()
List []
Dict {}
Set ()
python中迭代器(iterator) iter()
生成器(Generator)是创建迭代器的简单而强大的工具。它们写起来就像是正规的函数,只是在需要返回数据的时候使用yield语句 python还提供了一个生成器表达式
R语言数据类型查看与转换
R语言查看
class()
mode()
str()
head()
tail()
attributes()
###数据格式以及形式变换
基本数据类型
as.character() as.integer() as.numeric()as.logical() as.complex() NA
结构化数据类型
as.vector() as.matrix() as.array()as.data.frame() as.list() as.factor()as.vector(as.matrix(dfrm)) unlist()
####判断数据类型
is.vector() is.matrix() is.data.frame()
is.factor() is.ordered() is.null()
is.na()
####数据类型变换
包: library("plyr")
函数 ldply、dlply、daply
##把列表数据转换为数据框
library(plyr)
BrGroupT
##去除第一列.id列
BrGroupT
##数据变换,数据框到列表
lldata
lldata
dl
rownames(dl) = data[,1]
return(dl)}
mldata
##以gen为分组,返回各个个数以及名字
###数据长宽变换
包:reshape2
函数:melt cast
##宽数据变为长数据,###
library("reshape2")
tissueNames
NochangeNames
LongpacDataEN
head(LongpacDataEN)
#长数据变为宽数据
cast
SQL中数据类型转换
MySQL中数据类型
Orcale数据类型
迭代器(Iterator)模式,又叫做游标(Cursor)模式
Excel中数据类型转换
眼见为虚