当前位置: 移动技术网 > IT编程>开发语言>Java > Idea项目中常见错误及笔记(Old)

Idea项目中常见错误及笔记(Old)

2019年03月08日  | 移动技术网IT编程  | 我要评论

1、idea基础设置:

file-->settings-->

1>修改字体:font

2>修改编码格式:file encodings(全部utf-8,右下方复选框勾中--防止程序中的汉字转为ascii)

3>修改行号:appearanceshow line numbers

show method separators(方法与方法间的分隔符)

4>格式化代码:code style --> java (全部改成2)

5>代码提示:editor --> general --> code complet ;

6>修改背景颜色:editor --> general --> scheme;

2、更改idea中的代码颜色:

网址:「」下载需要的jar包;

导入jar包import settings,重启idea启用-->修改字体。

3、安装tomcat的时候:

出现这个错误---java.lang.unsatisfiedlinkerror: d:\apache-tomcat-7.0.69\bin\tcnative-1.dll: can't load ia 32-bit .dl

我嫌麻烦找个最简单的办法,就是找到tomcat的bin目录下的 tcnative-1.dll,将其删除就好

4、集合中-套用-集合:

string str="abcdefg";

//外层集合(list)定义:

list<list<string>> list1 = new arraylist<list<string>>();

for(int i=0;i<=5;i++){

//内层集合(普通)定义;

list<string> list2 = new arraylist<string>();

for(int j=0;j<=str.length();j++){

string s = str.valueof(j);

list2.add(s);

}

list1.add(list2);

}

system.out.println(list1.tostring());

一个集合调用另一个集合:

list list1 = arrays.aslist(list2);

 

5、*****根据文件上传路径----解析文件:*****解析excel;

网站:

 

poi的api文档网址:

http://poi.apache.org/apidocs/

 

public static void main(string[] args) throws filenotfoundexception,ioexception {
    list<list<string>> list = readfile("c:\\users\\administrator\\desktop\\资产-test.xlsx");
    system.out.println(list);
}
// 读取文件;
private static workbook getreadfile(string filepath) throws filenotfoundexception,ioexception {

    try(fileinputstream fis = new fileinputstream(filepath)) {
        if(filepath.tolowercase().endswith("xlsx")) {
            return new xssfworkbook(fis);
        }else if(filepath.tolowercase().endswith("xls")) {
            return new xssfworkbook(fis);
        }else {
            throw new runtimeexception("文件格式错误!");
        }
    }
}
// 解析文件;
private static list<list<string>> readfile(string filepath) throws filenotfoundexception, ioexception {
    try(workbook workbook = getreadfile(filepath)){
        list<list<string>> contents = new arraylist<list<string>>();
        sheet sheet = workbook.getsheetat(0);         // 这里应该改成循环每一个excel里的sheet
        for(int i=0;i<=sheet.getlastrownum();i++) {     // 从第一列开始取值;
            list l1=new arraylist();
            for(int rownum=2;rownum<=sheet.getlastrownum();rownum++) { // 从第一行开始取值;
                row row = sheet.getrow(rownum);
                cell cell = row.getcell(i);
                if (cell != null) {
                    l1.add(getcellvalue(cell).trim());
                }
            }
            contents.add(l1);
        }
        return contents;
    }
}
private static string getcellvalue(cell cell) {
    celltype celltype = cell.getcelltypeenum();
    switch(celltype) {
        case numeric:
            return string.valueof(math.round(cell.getnumericcellvalue()));

// 此处浮点型转换成integer类型(math.round());
        case string:
            return cell.getstringcellvalue();
        case boolean:
            return string.valueof(cell.getbooleancellvalue());
        case formula:
            return cell.getcellformula();
        case blank:
            return "";
        case error:
            return string.valueof(cell.geterrorcellvalue());
        default:
            return "stringutils.empty"; // commons-lang3包的方法,和list一样
    }
}

6、integer.parseint(string s)、integer.getinteg(string s)和integer.valueof(string s)的区别:

parseint(s)-----只是将是数字的字符串转成数字,注意他返回的是int型变量不具备方法和属性;

getinteger(s)---是读取s的系统属性,然后把该系统属性的值转换成一个数字,一般结果是null;

valueof(s)------将数字型的字符串转成数字,返回的是integer类型具备方法和属性;

 

math.round(4.0);---s是浮点型,四舍五入成整型4;

 

7、操作git中有时候会提示unlink of file '......' failed. should i try again?

网址:

原因是你工作目录有某些文件正在被程序使用,这个程序多半是idea,vs或者eclipse,当然也可能是其他程序

解决方案不是简单的选择y或者n,而是关闭ide,让ide把这些文件释放掉

 

 

8、idea中回车的符号: \r\n

//定义分隔符类型;

string[] ss=new string[]{"\r\n", ",", ";", ",", ";", "、"};

// 判断是哪种类型分隔符:

iplist = ips.split(ss);

 

9、用命令提示符导出数据库中某几个表:

mysqldump -u用户名 -p密码 数据库 表一 表二 表三> 保存路径

例如:

mysqldump -uroot -p123456 batsir bus_groupandtask bus_scanasset bus_scanportflaw> e:\bus_ssg.sql

用命令提示符向数据库中导入表:

mysql -uroot -p123456 batsir<c:\users\administrator\desktop\bus_ssg.sql(出现 '\' 错误,没有影响----可以根据id去查询测试)

1mysql -uroot -p123456 --default-character-set=utf8 数据库名 <sql文件路径;

2mysql -uroot -p123456

user 数据库名

source 文件路径

10、hashmap集合中的元素解析到.txt文本中:

hashmap<integer, string> result = new hashmap<>();

// 遍历集合中的元素;<key,value>

for (integer key : result.keyset()) {
   string value = result.get(key);
   logger.info("key = " + key + ", value = " + value);
}
try {
   string line = system.getproperty("line.separator");
   stringbuffer str = new stringbuffer();
   filewriter fw = new filewriter("c:\\users\\administrator\\desktop\\1.txt", true);//保存到本地桌面上了;
   set set = result.entryset();
   iterator iter = set.iterator();
   while(iter.hasnext()){
      map.entry entry = (map.entry)iter.next();
      str.append(entry.getkey()+" : "+entry.getvalue()).append(line);
   }
   fw.write(str.tostring());
   fw.close();
} catch (ioexception e) {
   e.printstacktrace();
}

9idea启动服务器报错:--系统找不到指定路径;

 

 

10springmvc的测试demo中无法正确引入jqueryjs;可能是js文件夹放错位置:

js文件夹放在web下面而不是web-inf下。

11、发送ajax请求:

前台jquery发送ajax请求:

$.ajax({
   type: "get",
   url: "/data",
   data: {
      appid:appid,
      key:key,
      datetime:datetime
   },
   datatype: "json",
   success: function (data) {
      $("#token").val(data.content);//将值填写到id为token的文本框中;
   },
   error: function (e) {
      alert("请求错误:"+e.reponsetext);
   }
});

后台接收请求:

@requestmapping("/data")
@responsebody

public string gettoken(requestjson json) throws ioexception {
   string appid = json.getappid();
   string key = json.getkey();
   string dt = json.getdatetime();//如果dt为null时:dt=dateformatutils.format(new date(), "yyyymmddhhmmss")
   string token = tokenbuilder.buildtoken(appid, key, dt);
   return token;
}

 

12、@controller@restcontroller的区别

 

@restcontroller

(1)返回的是return中的内容,不会返回jsp、html页面;

@controller

(1)可以返回jsp、html,  

(2)要是返回json,在对应的方法上加上@responsebody注解;

 

13、多行文本框的值显示在另一个textarea框中:

触发点击事件---onclick

function request() {

$("#show").text("appid:"+$("#appid").val()+"\n"+"datatime:"+$("#today").val()+"\n"+"token:"+data.content);

}

14、点击copy文本框,复制到粘贴板(点击就成功复制):

<textarea rows="5" cols="30" id="show" readonly="readonly" onclick="mycopy()"></textarea><br/>
<font color="red"><div id="success"></div></font>

 

<script type="text/javascript">

function mycopy() {
   var ele = document.getelementbyid("show");
   ele.select();
   document.execcommand("copy");
   $("#success").text("copied to clipboard!");
}

</script>

 

 

15、修改table中表格间距:

table中添加:style="border-collapse:separate; border-spacing:15px;"

table中合并一行中的两列:<td colspan="2">

合并一列中的几行:<tr rowspan=xx >

 

16、存储过程(mysql游标的使用):==重点+难点

 

 

17、ip字段192.168.2.0/24

 

192.168.2.0换成32位二进制,四组,每组8位;

可分配的范围是24位不变,后8位由“00000001”变化为“11111110”的范围;

即:192.168.2.1--192.168.2.254

 

18、springboot的项目如果有maven的时候打jar包操作:

maven中直接clean,之后直接install;

生成的jar包在target文件夹下

 

19、idea中将java项目打成jar包:

(1)打开project structure,选中artifacts;

(2)点击加号,选中jar ,然后from modules with dependencies;

 

(3)main方法就添加对应的类,点击 ok;

 

(4)接下来,选择copy to ...路径为manifest.mf的路径,点击ok;

 

(5)点击 build ,选中 build artifacts-->build,就会出现对应的jar包。

 

xftp工具将**.jar 文件夹上传到linux服务器上,用命令运行项目jar包 例如:java -jar **.jar)

20、oracle的sql语句转换成mysql的sql语句:

需要下载软件:powerdesigner

具体操作网址:

 

21、java中获取当前生成文件的路径:

system.out.println("生成文件路径:"+system.getproperty("user.dir")+file.separator);

结果:  生成文件路径:e:\spring-boot-basewebapp\

 

22、java中移动当前文件夹下的文件到另一文件夹下:

// 文件当前路径;

string startpath = system.getproperty("user.dir")+file.separator+path+filename;
// 文件目标路径;

string endpath = "d:\\aaa\\";

file startfile = new file(startpath);
file tmpfile = new file(endpath);//获取文件夹路径
if(!tmpfile.exists()){//判断文件夹是否创建,没有创建则创建新文件夹
   tmpfile.mkdirs();
}
system.out.println("目标文件路径:"+endpath + startfile.getname());
if (startfile.renameto(new file(endpath + startfile.getname()))) {
   system.out.println("file is moved successful!");
} else {
   system.out.println("file is failed to move!");
}

 

23、springboot修改当前工具的端口号:

直接在resources下创建application.yml或者application.properties文件;

 

 

24、formatter格式化,属性;

editoptions给属性赋值选择时需要加上格式化标签formatter。

formatter + editoptions 共同存在

 

 

25、formatter属性,后面加上formatimage;

 

可以将后台获取的值替换成图片

 

26、duplicate entry 'xxx' for key 'bgu_bgat_key' 是什么原因?

代表数据表中 字段xxx中 已经有1的这个数据了,xxx字段应该是主键,不能为重复,数据库将bgu_bgat_key索引类型改为:normal

 

27、【主机/web关联】回显和编辑需要同步:

if(platformenum.web==webutils.getplatform(request)){
   list<grouprelationdto> hostlist = groupandtaskservice.gethostgroupids(arrays.aslist(ud.getgroupid()));
   if(hostlist!=null && hostlist.size()>0){
      integer groupid = hostlist.get(0).gethostgroupid();
      ud.setgroupid(groupid);
   }
}

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网