最近在开发MR时发现,java控制台输入制表符(\t)在不同的系统下有不同的处理效果, 简直就是一个大bug
测试代码如下:
package test;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.SocketException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.List;
public class Test {
public static void main(String[] args) throws UnsupportedEncodingException {
String tab = args[0];
System.out.println("系统认为的args[0] 输入是:"+tab);
System.out.println("\"'\\t'\".equals(args[0]) = " +"'\\t'".equals(args[0]));
}
}
在windows系统下,输入 '\t' 代码中的 args数组会认为是 '\t'
如图: