[Java]统计文件字母,统计单词
1、编写一个程序,统计给定文件中每个字母出现的频率。
2、编写一个程序,统计给定文件中包含的单词数目,并按单词表的顺序显示统计结果。
Java编程 Swing模板
1、创建框架:
[cc lang="java"]
import java.awt.*;
import javax.swing.*;
public class SimpleFrameTest {
public static void main(String[] args) {
// 事件调度线程
EventQueue.invokeLater(new Runnable() {
public void run() {
// 创建一个SimpleFrame窗体
SimpleFrame frame = new SimpleFrame();
// 默认关闭窗口时退出
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗体可见
frame.setVisible(true);
}
});
}
}
[/cc]
wait/waitpid函数说明
#include<sys/types>
pid_t wait(int *status)
pid_t waitpid(pid_t pid,int *status,int options)
wait函数的功能是等待子进程执行完的时候执行父进程
发出wait调用的进程会进入睡眠知道它的一个子进程退出或受到一个不能被忽略的信号时候唤醒,如果该调用进程没有子进程或它的子进程已经结束,该调用立即返回,调用返回是参数status中包含子进程退出时的状态信息
Linux命名管道,mkfifo创建实例
/**
* mypipeserver.c: 服务器端程序
* Author: Navins
* Program Date: 2010-7-23
* Modified Date: 2010-7-23
* 使用Linux的命名管道机制,用C语言编写的服务器端程序。
* 程序中使用mkfifo函数创建命名管道,以只读方式open命名管道,隔3s读信息。
**/
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#define FIFO_CHANNEL "/home/zhulin/coding/my_fifo" /* 宏定义,fifo路径 */
int main()
{
int fd;
char buf[80];
if(mkfifo(FIFO_CHANNEL,0777)==-1) /* 创建命名管道,返回-1表示失败 */
Discuz7.0程序二次开发必备:目录详解
基于7.0的标准程序,部分与插件无关的文件不作说明
文件颜色说明:
红色:程序核心文件,修改这类文件时千万要注意安全!
橙色:做插件几乎不会用到的文件,大概了解功能就可以了,其实我也不推荐修改这些文件
绿色:函数类文件,许多功能强大的自定义函数可以调用这类文件来使用
蓝色:最标准的插件制作常用文件紫色:该文件被Zend加密,请不要修改这类文件
每个目录里面都有一个空的index.htm,这是为了防止列目录用的,不必理会.
根目录 ./ (这里都是最基本的程序)
admincp.php——后台系统设置主程序文件,一般只处理菜单的显示的访问权限,不处理管理控制。
ajax.php——论坛模板的ajax判断及数据返回都在这里进行
attachment.php——附件文件,仅仅处理附件下载的功能。
announcement.php——论坛公告的显示,一般很少改
config.inc.php——配置论坛数据库、密码等信息,这个大家最熟悉了
discuz_version.php——论坛版本信息,用来更新用的,没有官方说明绝对不要修改
eccredit.php——论坛商品功能以及信用度查看的处理文件
faq.php——论坛自带的帮助
favicon.ico——显示在IE标题栏的的图标
forumdisplay.php——很简单,论坛主题列表的显示
index.php——控制首页元素显示
invite.php——论坛邀请注册程序文件
leftmenu.php——首页侧栏文件
logging.php——登陆系统,判断用户名、密码。
discuz!x1.0二次开发 教你识别程序目录和文件列表
作为一款以社区为基础的专业建站平台,Discuz! X1社区平台系统让论坛(BBS)、社交网络(SNS)、门户(Portal)、群组(Group)、开放平台(Open Platform)充分融合于一体,帮助网站实现一站式服务。
Discuz! X1比较之前的Discuz!和UCHome做出了大幅度的文件结构变更,现在根据Discuz! X1制作一篇详细的结构说明,也方便新、老站长在安装和使用升级时方便查阅。
本列表总览分两个部分,
第一个部分为:目录、文件篇。
第二个部分为:模板文件结构篇。
如果大家有不明白的地方可以在后面跟帖。我会酌情解答关于您疑问。
由于列表文件太多,我推荐您在查找的时候,根据目录结构来查看,如果找不到,请使用浏览器自带的搜索查找。
有很多不常用到的文件夹,在这里以描述形式带过。
目录+文件篇:
| – admin.php 管理员入口
| – api.php 接口文件
| – category.php 分类入口
| – cp.php 个人资料设置入口
| – crossdomain.xml FLASH跨域传输文件
| – favicon.ico 系统icon图标
| – forum.php 广场入口
| – group.php 群组入口
| – home.php 空间入口
| – index.php 首页入口
| – ivite.php 邀请处理文件
| – member.php 用户处理文件
| – misc.php 杂项处理文件
| – plugin.php 插件处理文件
| – portal.php 站点首页入口 同 index.php
| – robots.txt 搜索引擎蜘蛛限制配置文件
| – search.php 搜索入口文件
| – userapp.php 用户应用、游戏、漫游入口文件
| — static 系统用到的图片包
| — template 系统总模板目录
ENCTYPE=”multipart/form-data”
用于表单里有图片上传。
<code><form name="userInfo" method="post" action="first_submit.jsp" ENCTYPE="multipart/form-data">
表单标签中设置enctype="multipart/form-data"来确保匿名上载文件的正确编码。
如下:
<tr>
<td height="30" align="right">上传图片:</td>
<td><INPUT TYPE="FILE" NAME="uploadfile" SIZE="34" onChange="checkimage()"></td>
</tr>
</code>
就得加ENCTYPE="multipart/form-data"。
表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.
enctype=\"multipart/form-data\"是上传二进制数据; form里面的input的值以2进制的方式传过去。
form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功,
取表单值加入数据库时,用到下面的:
SmartUpload su = new SmartUpload();//新建一个SmartUpload对象
su.getRequest().getParameterValues();取数组值
su.getRequest().getParameter( );取单个参数单个值
[函数]getpwuid/getpwnam & getgrgid/getgrnam
口令文件读取函数getpwuid和getpwnam以及组文件读取文件getgrgid和getgrnam函数的使用。
【此方法,可以间接由uid得到uname,由gid得到gname】
下面的代码可以读出当前用户的相关信息:
#include <stdio.h>
#include <stdlib.h>
#include <pwd.h>
int main(void)
{
struct passwd *passwd = getpwuid(getuid();
if ( passwd == NULL )
{
err_sys("getpwuid error");
}
else
{
printf("pw_name : %s\n", passwd->pw_name);
printf("pw_passwd : %s\n", passwd->pw_passwd);
printf("pw_uid : %d\n", passwd->pw_uid);
printf("pw_gid : %d\n", passwd->pw_gid);
printf("pw_age : %s\n", passwd->pw_age);
printf("pw_comment : %s\n", passwd->pw_comment);
printf("pw_gecos : %s\n", passwd->pw_gecos);
printf("pw_dir : %s\n", passwd->pw_dir);
printf("pw_shell : %s\n", passwd->pw_shell);
}
exit(EXIT_SUCCESS);
}
fstat、stat、lstat Differs
stat系统调用系列包括了fstat、stat和lstat,它们都是用来返回“相关文件状态信息”的,三者的不同之处在于设定源文件的方式不同。
1
首先隆重介绍的是一个非常重要的”VIP”人物,他是fstat, stat和lstat三者都要用到的一个结构体类型,名字叫做struct stat。可以说,没有这个struct stat的支持,上述三个系统调用将寸步难行。
这个struct stat结构体在不同的UNIX/Linux系统中的定义是有小的区别的,但你完全不用担心,这并不会影响我们的使用。
在struct stat结构体中我们常用的且各个平台都一定有的域是:
st_mode 文件权限和文件类型信息 (记住这个黑体橘红色)
st_ino 与该文件关联的inode
st_dev 保存文件的设备
st_uid 文件属主的UID号
st_gid 文件属主的GID号
st_atime 文件上一次被访问的时间
st_ctime 文件的权限、属主、组或内容上一次被修改的时间
st_mtime 文件的内容上一次被修改的时间。(和st_ctime的不同之处显而易见)
st_nlink 该文件上硬连接的个数
我分别提取了solaris(UNIX)和fedora(Linux)的struct stat结构体的原始定义:大家可以自己比对一下便可以发现两者确实有所不同,但主要的域是完全相同的。