properties文件内容的unicode转换(提问)

[size=medium]在开发过程中,为了使开发出来的代码更健壮、更灵活,我们常常把一些常变的变量写
入到配置文件中。而在这些配置文件中,properties文件是使用的比较多的,它不仅配置起
来简单(一个key=value形式即可),而且在对文件的操作中也比较方便。
 
    由于字符的编码问题以及properties文件在国际化的使用过程中,我们常常需要将文件
内容转换为unicode码。以免从文件里取出的内容为乱码。

    解决上面问题,我们一般采用一些如 properties editor 形式的插件。现在我写了一段
类似properties editor的转码程序(转换为unicode码)。大致功能是:从一个properties文件里逐行读出一字符串(有可能是注释,也有可能是 'key=value' 形式的属性配置)。然后将属性配置行的value转换为unicode码,转换完后写入到另一个文件里。

    现在的问题是,上面功能能完成,即可以把properties文件转换成一个内容为unicode的
properties文件(后面称unicode文件)。但是,在从unicode文件读文件配置内容时候,就会报错,或根本就不能通过Properties.load(in)的形式加载文件。希望您能花点时间,帮我解决这个问题。

    也许我描述的不太清楚,现在我贴出部分代码,您先看看,知道我的大概意思,然后把整
个工程下载到你本地,你帮我调试一下。先说明一下,对这个问题,我研究了好几天,实在找
不到解决问题的方法,才贴出的。请大家别责怪我不思考就贴出问题来。

package com.tja.code;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.util.LinkedList;
import java.util.Properties;
import java.util.Queue;

import com.tja.util.StringUtil;
import com.tja.util.file.CREATE_METHOD;
import com.tja.util.file.FileUtil;

/**

  • 将properties文件内容换成Unicode码形式的properties文件
  • *
    */
    public class UnicodeUtil {

    /**

    • unicode码前缀 / private static final String UNICODE_PREFIX = "\u"; /*
    • 文件内容注释标志 / private static final String COMMENTS_PREFIX = "#"; /*
    • 属性(properties)文件中的等于 '=' 符号 */ private static final String EQUAL_SIGNAL = "=";

    public static void propFile2Unicode(String fileName) throws FileNotFoundException, IOException {
    //Assert.notNull(fileName);
    propFile2Unicode(new File(fileName),null);
    }

    /**

    • 将属性文件里内容转换为unicode码(只将文件里的value转换为unicode,而key值不变)。
    • 实现逻辑: 逐行读取文件内容,对每行内容进行转码(转成unicode形式),对转码的内容
    • 又存入一队列中。最后使用队列先进先出的特点将所有内容写入一新的文件里,
    • 即fileName.
    • @param file
    • 属性文件(properties文件)
    • @param fileName
    • 记录转码后内容的文件名
    • @throws FileNotFoundException
    • @throws IOException */ public static void propFile2Unicode(File file,String fileName) throws FileNotFoundException, IOException { BufferedReader br = new BufferedReader(new FileReader(file)); String line; String unicodeValue; Queue<String> queue = new LinkedList<String>(); while((line = br.readLine())!=null) { unicodeValue = value2unicode(line); //对读出的一行内容进行转码 queue.add(unicodeValue); } br.close(); //如果没指定文件名,则将内容写入原文件里 String filePath = StringUtil.hasLength(fileName)?fileName:file.getAbsolutePath(); write2file(filePath,queue); }

    /**

    • 将一行字符串转换成unicode形式。注意,分了注释和非注释的处理,注释
    • 的内容也要转换成unicode形式
    • @param str
    • 字符串
    • @return */ public static String value2unicode(String str) { return str.startsWith(COMMENTS_PREFIX)?dealWithComments(str):dealWithNonComments(str); }

    /**

    • 对注释内容进行转换成unicode,注释符号'#'不作处理
    • @param comments
    • 注释字符串,形式为 '#abccom好'
    • @return */ public static String dealWithComments(String comments) { //Assert.notNull(comments); if(!comments.startsWith(COMMENTS_PREFIX)) { throw new IllegalArgumentException("the parameter["+comments+"] is not comments!"); } String comment = comments.substring(1); return COMMENTS_PREFIX+GBK2Unicode(comment); }

    /**

    • 对非注释的一行字符串进行unicode转码,该字符串格式要求为key=value形式
    • 即如:userName=xiaoxin。否则会抛出异常
    • @param non_comments
    • 非注释字符串
    • @return */ public static String dealWithNonComments(String non_comments) { if(null == non_comments || 0 == non_comments.trim().length()) { return ""; } if(non_comments.startsWith(COMMENTS_PREFIX)) { throw new IllegalArgumentException("the parameter["+non_comments+"] is comments!"); } int index = non_comments.indexOf(EQUAL_SIGNAL); if(index == -1) { throw new IllegalArgumentException("the parameter["+non_comments+"] has no '=' !"); } String key = non_comments.substring(0,index+1); String value = non_comments.substring(index+1); return key+GBK2Unicode(value); }

    /**

    • 将队列内容写入指定文件里
    • @param filePath
    • @param queue
    • @throws IOException */ private static void write2file(String filePath,Queue<String> queue) throws IOException { //Assert.hasText(filePath); FileUtil.createFullPathFile(filePath, CREATE_METHOD.OVERWRITE); while(!queue.isEmpty()) { String content = queue.poll(); FileUtil.write2File(filePath, true,null, content+"\n"); } }

    /**

    • 字符串类型转换为Unicode
    • @param str
    • @return */ public static String GBK2Unicode(String str) { if(null == str) { return ""; } StringBuffer buf = new StringBuffer(UNICODE_PREFIX); for(int i = 0;i<str.length();i++) { buf.append(char2Unicode(str.charAt(i))); if(i != str.length()-1) { buf.append(UNICODE_PREFIX); } } return buf.toString(); }

    /**

    • char类型转换为Unicode
    • @param ch
    • @return */ public static String char2Unicode(char ch) { return Integer.toString(ch, 16); }

    public static void main(String[] args) throws FileNotFoundException, IOException {
    String str = "D:/bb.properties";
    String str1 = "D:/cc.properties";
    String ss = "项目额度";
    UnicodeUtil.propFile2Unicode(new File(str),str1);
    String g = UnicodeUtil.GBK2Unicode(ss);
    System.out.println(g);
    InputStream in = new FileInputStream(new File(str1));
    Properties p = new Properties();
    p.load(in);

    System.out.println(p.getProperty("FMS.loader.project"));
    System.out.println(p.getProperty("FMS.chinese"));
    

    }
    }


      请大家有时间帮忙看看。哦运行报的错误如下:

       Exception in thread "main" java.lang.IllegalArgumentException: Malformed \uxxxx encoding.
    at java.util.Properties.loadConvert(Unknown Source)
    at java.util.Properties.load(Unknown Source)
    at com.tja.code.UnicodeUtil.main(UnicodeUtil.java:175)[/size]
    问题补充

    helin 写道
    load的时候指定编码



    恕小弟愚笨,请问load的时候怎么指定编码呢?能给点例示代码吗?

5个回答

所以问题就是出在你读取原始properties文件上了。
这部分调试下吧,确保文件中的内容读出来不乱码就好了,这应该不是什么难的问题吧。
另外如果用readLine读的话,别丢掉了换行符。

load的时候指定编码

好像不能使用你写的程序来转码吧,jdk中就提供了一个native2ascii.exe可以将中文转换成unicode码,原理和你写的不一样吧。

BufferedReader 看你读文件的时候没有指定charset,这时候得到的string本身可能就是乱的。

参考下下面的代码吧:
[code="java"]
public static void main(String[] argv) {
//确保str的获取是基于正确的文件读取,编码不能有误。
String str = "a.value=中国人\n\r" + "b.value=美国人";

    //简单的转换处理,ascii码<=126的粗略地默认为不用转换(包含了=号,换行,空格等)
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < str.length(); i++) {
        char ch = str.charAt(i);
        if (ch <= 126) {
            sb.append(ch);
        } else {
            sb.append("\\u");
            sb.append(Integer.toString(ch, 16));
        }
    }

    Properties prop = new Properties();
    File pFile = new File("d:/test.properties");
    try {
        //写入文件,指定utf-8编码
        FileOutputStream fout = new FileOutputStream(pFile);
        fout.write(sb.toString().getBytes("utf-8"));
        fout.close();           
        //从文件中读取流,由于已经转化成\\uxx 形式的内容,因此load时候不用在意编码
        FileInputStream fin = new FileInputStream(pFile);
        prop.load(fin);
    } catch (Exception e) {
        e.printStackTrace();
    }
    System.out.println(prop.get("a.value"));
    System.out.println(prop.get("b.value"));
}

[/code]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
idea(properties中文转Unicode问题)
我们在eclipse中的properties文件中输入一段中文,会自动的转换为Unicode编码,如此就防止了乱码问题,但是idea发现没有这个功能,即使你输入的是中文他还是不会自动的转换为Unicode,所以只能手工去转,但是这样太麻烦,idea有没有自动进行转换?望大神指点,百度上说的都是Unicode自动转中文,而我要的是中文自动转Unicode
用一个application.properties文件中,如何引用值,${}引用无效
我在application-dev.properties中 上面做了数据库的配置 ``` jdbc.driverClass=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql:// jdbc.username= jdbc.password= ``` 在本文件的下面配置quartz时我想用${}引用上面的配置 但并不能引用(同一个文件中) ``` quartz.dataSource.myDS.driver = ${jdbc.driverClass} org.quartz.dataSource.myDS.URL = ${jdbc.url} org.quartz.dataSource.myDS.user = ${jdbc.username} org.quartz.dataSource.myDS.password = ${jdbc.password} ```
Spring boot内置Tomcat,如何找到catalina.properties文件
使用Spring boot内置Tomcat,如何找到catalina.properties文件,想进去增加个org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
properties文件多级传递参数占位符的问题
之前通过主pom中的properties文件写好配置参数,在子项目中的properties文件引入主pom中的properties配置文件参数,最初是使用$[XXX]来引入参数,后来其他子项目中使用这种方式不行,我想了解下$[XXX]这种占位符是个什么东西?是可以再自己配置这种方式的吗?而且这种占位符仅支持两级传递,更多级传递则不起作用。希望哪位得道大神可以详细讲解一下! ![主pom下的properties文件,用于子项目中的properties文件引用](https://img-ask.csdn.net/upload/201806/11/1528716881_790127.png) ![子项目中的properties文件,用于项目中xml文件引用](https://img-ask.csdn.net/upload/201806/11/1528716989_832243.png)
ecalipse中创建properties文件的问题
我的properties文件打开就像TXT文件一样,我在网上搜,他们说是插件有问题,可是我 去看配置的时候,好像有properties的插件..不知道怎么解决... ![图片说明](https://img-ask.csdn.net/upload/201601/27/1453862112_371757.png)
java读取properties配置文件的问题
客户端跟服务器端的配置文件是一个文件还是两个文件。如果是一个文件,服务器端如何读取放在客户端的properties文件,或者客户端如何读取放在服务器端的properties文件。
关于java读取properties文件
现在有一个maven的项目A,里面有一个类读取本项目的properties文件,现在将这个项目A打成jar包,在项目B中引用项目A这个jar包。项目B里面也有properties文件,怎么让项目A jar包中的类先读取jar包中的properties文件,再读取B项目的properties文件,求解,谢谢
spring如何在自己实现的切面注解中使用${}获取properties配置文件中的参数值?
## 问题 自己实现建了一个切面注解@Mypoint 注解有一个key属性 ``` String key(); ``` 在使用注解时 ``` @Mypoint(key = "abc-${env}") ``` 在properties配置文件中有 ``` env=dev ``` 这样通过配置文件可以动态切换注解中jKey的值 情况介绍: 这个切面注解是我引用的别人包里的,所以这个注解里的内容和功能我是没法改的,我只是想通过配置文件动态修改注解中的key值,在不同环境中给他传不同的值。 *************************************************************** ##解决过程 通常都会用@Value注解中使用${}获取properties中的参数值,在网上搜的大部分也都是说的是这个。 我自己以前尝试后在@PropertySource注解中使用 ``` @PropertySource(value = "classpath:config-${spring.profiles.active}.yml") ``` 这个在spring boot中使用时可行的,但是自己写的不起作用 可能有spring内部的原理没搞清楚,希望有尝试过的能提供一些建议,谢谢!!! ************************************************************* 12-4号补充 一楼的回答我尝试了,但是不是我想要的方式,可能我的描述有遗漏,所以对问题做了一些补充。
properties文件中的#注释如何快速取消?
eclipse中properties文件,多行文本可以用ctrl+/或者ctrl+shfit+c来添加"#"注释掉,但是如何快速取消注释呢?
Unity读取properties文件问题
诸如java读取properties文件时,是把文件放置src下,那请问Unity该把properties文件放在那个路径下,才可以进去读取呢?(我是用java代码读取的,是项目需要在Untity工程下使用java代码读取)。。。。。。 知道的大神解答下,谢谢!!!
idea properties文件中文乱码
![图片说明](https://img-ask.csdn.net/upload/201704/13/1492081886_280996.png) 在文件里输入中文能正确显示, 但在网页上就会显示乱码 ![图片说明](https://img-ask.csdn.net/upload/201704/13/1492081926_418411.png) 如果直接输入unicode就不会有乱码, 但每次都要自己转换, 而且不能看到中文 能不能让他自动转换成unicode, 但是显示的是中文呢?
多环境下eclipse如何配置tomcat加载指定properties文件
项目背景:maven项目,有多个环境:dev、sit、uat、pat。之前用的Idea和jetty,现在因项目需要切换成了eclipse和tomcat。 问题描述:maven打的是sit的包,war包放到tomcat下单独运行没有问题,但是用eclipse内置的tomcat启动就会报错,我看了项目根目录下.metadata\.plugins\org.eclipse.wst.server.core\里的webapps项目文件,发现每次启动服务加载的都是dev.properties文件,但是之前maven打的war包里面是sit.properties文件呀,tomcat怎么又重置成dev了呢?eclipse里该怎么配置tomcat让它跟随环境加载.properties文件呢?有木有大神和我遇到的是同一个问题?
JDBC使用反射读取properties文件出错
使用反射获取类加载器来读取properties文件出现空指针异常,可以使用直接使用输入流读取properties文件,为什么教学视频中却可以使用反射?另外问下怎么在PC端提问,不是论坛发帖,单纯悬赏C币提问,我都是在手机上提,电脑上修改 @Test public void getConnection() throws Exception { /* * 读取配置文件来获取数据库连接 */ Properties properties = new Properties(); String driverClass = null; String jdbcUrl = null; String user = null; String password = null; InputStream in = this.getClass().getClassLoader().getResourceAsStream("C:/Java/WprkSpace/JDBC/jdbc.properties"); properties.load(in); driverClass = properties.getProperty("driver"); jdbcUrl = properties.getProperty("jdbcUrl"); user = properties.getProperty("user"); password = properties.getProperty("password"); Driver driver = (Driver) Class.forName(driverClass).newInstance(); properties.put("user", user); properties.put("password", password); Connection connerction = driver.connect(jdbcUrl, properties); System.out.println( connerction); in.close(); } ![图片说明](https://img-ask.csdn.net/upload/201607/14/1468511565_146162.png) ![图片说明](https://img-ask.csdn.net/upload/201607/14/1468511578_461313.png) ![图片说明](https://img-ask.csdn.net/upload/201607/14/1468511589_915518.png) ![图片说明](https://img-ask.csdn.net/upload/201607/14/1468511603_770079.png)
properties文件的读取问题
直接用记事本编辑的格式写了一个Jdbc.properties的文件。文件内容![图片说明](https://img-ask.csdn.net/upload/201704/17/1492386132_384305.png)。再写了一个jdbcutil的工具类。内容为![图片说明](https://img-ask.csdn.net/upload/201704/17/1492386005_380951.png)还有一个测试类,内容为![图片说明](https://img-ask.csdn.net/upload/201704/17/1492386400_420594.png)在cmd命令操作下可以编译通过,但运行出现异常,异常为![图片说明](https://img-ask.csdn.net/upload/201704/17/1492386322_82248.png),可以帮助解答一下吗?
Java更改.properties文件
Properties prop = new Properties(); FileOutputStream oFile = new FileOutputStream("systemConfig.properties", true); prop.setProperty("a", 1); prop.store(oFile, "The New properties file"); oFile.close(); 这样子没修改成功!文件路径也没报错
IDEA中properties文件乱码
根据网上的教程把所有的东西都改成了utf-8,但properties文件里面还是乱码。 控制台什么的倒没有乱码,求解答![图片说明](https://img-ask.csdn.net/upload/201607/14/1468462705_848496.png)
jrebel热部署插件可以作用于xml和.properties文件吗
idea 的 jrebel热部署插件可以作用于xml和.properties文件吗 就是修改了xml文件也可热部署
ssm框架properties文件加载问题
使用web.xml加载oss.properties文件时报"前言中不允许有内容"错误 而使用config文件来加载时,能够正常加载 整个项目的编码格式都是utf-8 代码如下 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml,classpath:context.xml,classpath:props/oss.properties</param-value> </context-param>
properties文件(实时变化) 能否 通过java代码 实时加载
properties文件(实时变化) 能否 通过java代码 实时加载 网上搜了一些解析properties文件的方法,第一次可以正确解析出来 但是当properties文件变化时,再去解析发现结果还是第一次的结果,并没有变化 代码如下 // 生成输入流 InputStream ins=this.class.getResourceAsStream("../config/config.properties"); // 生成properties对象 Properties p = new Properties(); try { p.load(ins); } catch (Exception e) { e.printStackTrace(); }
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
java中的Static、final、Static final各种用法
前言 对Static、final、Static final这几个关键词熟悉又陌生?想说却又不知怎么准确说出口?好的,本篇博客文章将简短概要出他们之间的各自的使用,希望各位要是被你的面试官问到了,也能从容的回答… static 加载:static在类加载时初始化(加载)完成 含义:Static意为静态的,但凡被static 修饰说明属于类,不属于类的对象。 可修饰:Static 可以修饰 内部类、方...
各大公司在GitHub上开源投入排名分析
基于GitHub的数据进行分析各个公司在开源上的投入排名
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
python学习方法总结(内附python全套学习资料)
不要再问我python好不好学了 我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包也没啥问题。。。。。所以python真的是想学就一定能学会的!!!! --------------------华丽的分割线-------------------------------- ...
Spring Boot 开发微信公众号后台
Hello 各位小伙伴,松哥今天要和大家聊一个有意思的话题,就是使用 Spring Boot 开发微信公众号后台。 很多小伙伴可能注意到松哥的个人网站(http://www.javaboy.org)前一阵子上线了一个公众号内回复口令解锁网站文章的功能,还有之前就有的公众号内回复口令获取超 2TB 免费视频教程的功能(免费视频教程),这两个都是松哥基于 Spring Boot 来做的,最近松哥打算通...
兼职程序员一般可以从什么平台接私活?
这个问题我进行了系统性的总结,以下将进行言简意赅的说明和渠道提供,希望对各位小猿/小媛们有帮助~ 根据我们的经验,程序员兼职主要分为三种:兼职职位众包、项目整包和自由职业者驻场。 所谓的兼职职位众包,指的是需求方这边有自有工程师配合,只需要某个职位的工程师开发某个模块的项目。比如开发一个 app,后端接口有人开发,但是缺少 iOS 前端开发工程师,那么他们就会发布一个职位招聘前端,来配合公司一...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
C++知识点 —— 整合(持续更新中)
本文记录自己在自学C++过程中不同于C的一些知识点,适合于有C语言基础的同学阅读。如果纰漏,欢迎回复指正 目录 第一部分 基础知识 一、HelloWorld与命名空间 二、引用和引用参数 2.1引用的定义 2.2 将引用用作函数参数 2.3 将引用用于类对象 2.4 引用和继承 2.5 何时使用引用参数 2.6 引用和指针的区别 三、内联函数 四、默认参数的...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
js知识点汇总
1.本门课的作用(JavaScript的作用)所有基于Web的程序开发基础 2.一种计算机客户端脚本语言,主要在Web浏览器解释执行。 3.浏览器中Javascript,用于与用户交互,以及实现页面中各种动态特效 4.在HTML文件中,任何JavaScript代码必须放到&lt;script&gt;标签中 5.把JavaScript代码放到外部文件中,在HTML代码中直接引入该文件(外部文...
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
Python实例大全(基于Python3.7.4)
博客说明: 这是自己写的有关python语言的一篇综合博客。 只作为知识广度和编程技巧学习,不过于追究学习深度,点到即止、会用即可。 主要是基础语句,如三大控制语句(顺序、分支、循环),随机数的生成,数据类型的区分和使用; 也会涉及常用的算法和数据结构,以及面试题相关经验; 主体部分是针对python的数据挖掘和数据分析,主要先攻爬虫方向:正则表达式匹配,常用数据清洗办法,scrapy及其他爬虫框架,数据存储方式及其实现; 最后还会粗略涉及人工智能领域,玩转大数据与云计算、进行相关的预测和分析。
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
论文读不懂怎么办?
王树义读完需要18分钟速读仅需6分钟悄悄告诉你几个窍门。1 痛苦做科研,不能不读论文。但是,我见过不少研究生,论文都读得愁眉苦脸的。这其中,自然有因为拖延的关系。例如教授布置了2周后讨论论文,你原本可以每天抽出时间,慢慢消化。可你非得拖到截止日期的前一天晚上才打开看,希望毕其功于一役……这显然是态度问题。但是,不可忽略的,有些同学,却真的不是态度问题,而是方法不当。他们喜欢跟论文死磕。读不懂,...
用Python解决数据结构与算法问题(三):线性数据结构之栈
python学习之路 - 从入门到精通到大师 文章目录[python学习之路 - 从入门到精通到大师](https://blog.csdn.net/TeFuirnever/article/details/90017382)〇、写在前面3.1.目标3.2.什么是线性数据结构3.3.什么是栈3.4.栈的抽象数据类型3.5.Python实现栈3.6.简单括号匹配3.7.符号匹配3.8.十进制转换成二进制...
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
Java面试官最爱问的volatile关键字
在Java的面试当中,面试官最爱问的就是volatile关键字相关的问题。经过多次面试之后,你是否思考过,为什么他们那么爱问volatile关键字相关的问题?而对于你,如果作为面试官,是否也会考虑采用volatile关键字作为切入点呢? 为什么爱问volatile关键字 爱问volatile关键字的面试官,大多数情况下都是有一定功底的,因为volatile作为切入点,往底层走可以切入Java内存模...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
【C++100问】深入理解理解顶层const和底层const
专栏C++学习笔记 声明 1)该文章整理自网上的大牛和相关专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。 3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。 4)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。大家都共享一点点,一起为...
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
《C++ Primer》学习笔记(五):循环、分支、跳转和异常处理语句
专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.csdn.net/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 《C++ Primer》习题参考答案:第5章 - 语句 文章目录专栏C++学习笔记语句1、...
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问