当前位置:首页 > 常用

Linux的输出打印命令cat实例

显示filename文件的内容cat filenam每行结束处显示cat -E filenam显示行号cat -n filenamcat -number filenam连续重复的空行,只输出一个空行...阅读全文

Linux的文件内容查看命令more实例

more类似于ca命令,但会分页显示,按空格键下一页,按键上一页。遇到两行以上的空行,以一行空白显示more -s fil从第2行开始显示filemore +20 fill命令的结果分屏显示...阅读全文

Linux的文件内容查看命令head实例

默认显示文件的前1head test.tx显示文件的前head -n 3 test.tx显示前2字节head -c 20 test.tx显示除后行之外的所有行head -n -3 test.tx...阅读全文

Linux的文件查看命令tail实例

显示后tail -n 3 test.tx显示后2字节tail -c 20 test.tx处理多个文件tail text1.txt text2.tx处理多个文件,不打印文件名tail -q text1.txt text2.tx...阅读全文

Java中获取本地计算机的IP地址

try {
	InetAddress LocalIP = InetAddress.getLocalHost();
	InetAddress[] addrs = InetAddress.getAllByName(InetAddress.getLocalHost().getHostName()); 
	for(InetAddress addr:addrs)
	{
		System.out.println(addr.getHostAddress());
	}
	
} catch (UnknownHostException e1) {
	e1.printStackTrace();
}
阅读全文

Linux的文本匹配命令grep实例

a.txb.txc.tx中显示匹配tes的行grep 'test' a.txt b.txt. c.tx显示英文字母匹配的行grep '[a-z]' test.tx指定表达式作为匹配的模式...阅读全文

Linux命令行文本编辑器VI使用方法

进入输入模式的方法——游标之后键入——由行末键入——游标之前键入——行首键入在该行下新增一行键入在该行上新增一行键入命令:set n ——设置行号:set non ——...阅读全文

Java执行批处理或shell脚本,并获取命令行输出

以批处理为例,shell脚本类似。使用Runtime
try {
	Process p = Runtime.getRuntime().exec("D:\\test.bat abc");//假设批处理文件需要传递参数abc
} 
catch (IOException e) {
	e.printStackTrace();
}
通过以下代码,可以获取命令行输出。
try {
	Process p = Runtime.getRuntime().exec("D:\\test.bat abc");
	p.waitFor();
	BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));  
	String msg = null;
	while((msg = br.readLine()) !=  null){  
		 System.out.println(msg);  
	}
	p.destroy();
} 
catch (InterruptedException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
}
catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}
使用ProcessBuilder
try {
	ProcessBuilder pb = new ProcessBuilder("D:\\test.bat", "abc"); //假设批处理文件需要传递参数abc
	Process p = pb.start();
} 
catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}
通过以下代码,可以获取命令行输出。
try {
	ProcessBuilder pb = new ProcessBuilder("D:\\test.bat", "abc"); 
	Process p = pb.start();

	BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));  
	String msg = null;
	while((msg = br.readLine()) !=  null){  
		 System.out.println(msg);  
	}
} 
catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}
阅读全文

Java实现复制文件(或文件夹)

复制文件Java中实现复制文件,方法不止一种,以下是一种较为简单的示例。至于源文件是否存在,目标文件是否已存在,请另外自行判断。
//srcName为源文件绝对路径,desName为目标文件绝对路径。
public static boolean copyFile(String srcName, String desName) {

	File sourceFile = new File(srcName);
	File destFile = new File(desName);

	FileInputStream in = null;
	FileOutputStream out = null;
	try {
		in = new FileInputStream(sourceFile);
		out = new FileOutputStream(destFile);
	}
	catch (FileNotFoundException e){
		e.printStackTrace();
		return false;
	}

	int length=102400;
	byte[] buffer=new byte[length];
	while(true)
	{
		int nBytesRead;
		try 
		{
			nBytesRead = in.read(buffer);
			if(-1 != nBytesRead )
			{
			   out.write(buffer, 0, nBytesRead);
			}
			else
			{
			   in.close();
			   out.flush();
			   out.close();
			   break;
			}
		} 
		catch (IOException e) {
			e.printStackTrace();
			return false;
		}
	}
	return true;
}
复制文件夹基于以上方法复制文件夹。
public static boolean copyDir(String srcDir, String destDir){
	File srcDirFile = new File(srcDir);

	File[] files = srcDirFile.listFiles();
	for(File file:files)
	{
		if(!copyFile(file.getAbsolutePath(),destDir + File.separator + file.getName()))
		{
			return false;
		}
	}

	return true;
}
阅读全文

Java中的线程同步

1 使用synchronized关键字,保证在同一时刻只能有一个线程进入方法或代码块。1.1在方法声明中使用synchronized。
public synchronized void processData1()
{
	//do something here	
}
public synchronized void processData2()
{
	//do something here	
}
同一个类中若有多个方法都使用了synchronized关键字,则该类的同一个实例(即对象)中这些方法为互斥关系。1.2在代码块中使用synchronized。
public void getData()
{
	//synchronized修饰的是多个线程间的共享对象,在此仅以this为例。
	synchronized(this){
		//do something here
	}
}
2 使用volatile关键字,使变量具有原子性。...
阅读全文

返回页首返回页尾