package countio;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException; public class MyUtil {
/*
* 工具类中的方法都是静态方式访问的 因此将构造器私有不允许创建对象(绝对好习惯)
*/
private MyUtil(){
throw new AssertionError();
}
/*
* @param filename 文件名
* @param word 字符串
* @return 字符串在文件中出现的次数
*/
public static int countWorInFile(String filename,String word){
int counter=;
FileReader fr = null;
BufferedReader br = null;
try{
fr = new FileReader(filename);
br = new BufferedReader(fr);//字符缓存输入流(从文件--输入-->程序)
String line = null;
while((line = br.readLine())!= null){
int index = -;
//每一次读取到的字符串一定大于等于所要找的串hello indexOf返回某个指定的字符串值在字符串中首次出现的位置
while((line.length() >= word.length() && (index =line.indexOf(word))>=)){
counter++;
System.out.println(index);//输出4 4
line = line.substring(index+word.length());//从0开始
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(br != null){
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//fr.close();同上进行先判断后关闭 防止 还没建立就关闭掉资源了
}
return counter; }
public static void main(String[] args){
/*
* File.separator表示系统相关的分隔符,Linux下为:/ Windows下为:\\
* heiwhellodohehellod(有2个hello)
*/
//String filename = "\\d:\\hello.txt\\";
String filename = File.separator+"d:"+File.separator+"hello.txt"+File.separator;
int counter = countWorInFile(filename,"hello");
System.out.println("字符串hello出现的次数是:"+counter);
}
}

java中String的一些方法深入解析

1、public String(char[] c,begin,length).
从字符数组c的下标begin处开始,将长度为length的字符数组转换为字符串。
begin与length可以省略,即将字符数组c转换为字符串。另:字符数组可改为字节数组byte[] b.
char[] c=new char[]{'j','y','6','a','4','t','9'}; 
String s1=new String(c); 
String s=new String(c,2,3); 
System.out.println(s1);
System.out.println(s);


2、public char[] toCharArray().
字符串装换成字符数组。

3、public char charAt(int 下标).
返回字符串中指定位置的字符。
String s="jkdfsdf";
char t=s.charAt(3);

4、public byte[] getBytes().
将一个字符串转换成字节数组,其默认输出为ASCII值,可通过char强制类型转换输出字节。String s="sjdfsdf";
byte[] b=s.getBytes();

5、public String trim().
清除字符串左右两端的空格。
String s="skkgnsdfsd   ";
System.out.println(s.trim());

6、public int indexOf(String s,int index).
从字符串中查找指定位置之后指定的字符所在的位置。若不指定位置,则从头开始。
String s="dgdgdg";
int n=s.indexOf("t");//从头开始查找
int n1=s.indexOf("d",3);//从位置3处开始查找

7、public String substring(int beginindex,int endindex ).
截取所指定的从开始位置到结束位置的字符串,不包含结束字符。结束位置可以省略。
String s="sdgsgghd";
String s1=s.substring(2,4);
String s2=s.substring(2);


8、public String[] split(String s).
通过指定的字符分割字符串。
String s="dfgdhdfgdrhrhgdt";
String ss[]=s.split("d");
for(int i=0;i<ss.length;i++)
System.out.println(ss[i]);


9、public String toUpperCase()./public String toLowerCase().字符大小写转换。
String s="dfgdhdfgdrhrhgdt";
String s1=s.toUpperCase();//字符全大写
String s2=s.toLowerCase();//字符全小写


10、public boolean startsWith(String s)./public boolean endsWith(String s).检测字符串是否是以指定的字符开始/结尾。
String s="dfdhffghrtgfjn mjg";
boolean t1=s.startsWith("e");
boolean t2=s.endsWith("h");


11、判断字符串是否相等,区分大小写:equals()。不区分大小写equalsIgnoreCase().
String s="dfgdghdf";
String s1="sfsgsdu";
s.equals(s1);


12、public String replaceAll(String s,String s1).将字符串中的s都替换成s1.
String s="dfgdghdf";
String s1=s.replaceAll("d","f");

package stringtest;

public class TestString {

    public static void main(String[] args) {
char[] c=new char[]{'j','y','','a','','t',''};
String s1=new String(c);
String s=new String(c,,);
/* System.out.println(s1.charAt(3));//a
System.out.println(s);//6a4
*/
/*char[] c1 = s1.toCharArray();
for(int i=0; i<c1.length; i++){
System.out.print(c1[i]+",");//j,y,6,a,4,t,9,
}*/
/*String result="";
byte[] bytes = s1.getBytes();*/ /*String ss="dgdgdg";
int n=ss.indexOf("t");//从头开始查找
int n3=ss.indexOf("d",3);//从位置3处开始查找
int n1=ss.indexOf("d",1);//从位置1处开始查找
System.out.println(n);//-1
System.out.println(n1);//2
System.out.println(n3);//4
*/
String dd="sdgsgghd";
System.out.println(dd.substring(,));//gs
System.out.println(dd.substring());//gsgghd
}
}

String的一些方法试探的更多相关文章

  1. ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一个“方法”

    ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一个“方法”,这在给定的上下文中无效 这是一个与Controller.F ...

  2. java String 中 intern方法的概念

    1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. ne ...

  3. PDO 查询mysql返回字段整型变为String型解决方法

    PDO 查询mysql返回字段整型变为String型解决方法 使用PDO查询mysql数据库时,执行prepare,execute后,返回的字段数据全都变为字符型. 例如id在数据库中是Int的,查询 ...

  4. IE8下String的Trim()方法失效的解决方法

    String的Trim()方法失效,在ie8下是有这样的情况的,解决方法也很简单使用$.trim(str)即可,需要的朋友可以了解下 用jquery的trim()方法,$.trim(str)就可以了.

  5. asp.net遍历页面中所有TextBox,并赋值为String.Empty的方法

    本文介绍下,如何用.net遍历页面中的所有TextBox控件,并赋值为string.empty的方法,通过实例学习具体操作.有需要的朋友可以参考下.   一.遍历窗体控件 1,普通页面遍历TextBo ...

  6. String 的intern() 方法说明

    1.说明 Java中string.intern()方法调用会先去字符串常量池中查找相应的字符串,如果字符串不存在,就会在字符串常量池中创建该字符串然后再返回. 2.源码说明 public native ...

  7. JavaScript中String.prototype.replace() 方法的使用

    摘抄于:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replace ...

  8. 深入分析Java的String类的方法与特点

    字符串是任何编程语言都必须支持的变量类型,有些编程语言是直接提供了原生的变量类型,有些编程语言则使用语法特性以 SDK 的形式提供支持.在Java编程平台中,对字符串的支持使用了后者的形式,就是通过在 ...

  9. 《java入门第一季》之类(String类常见方法小叙)

    String类下面的构造方法和一些常见的方法: /* * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,可以知道 * A:字符串字面值"abc&quo ...

随机推荐

  1. 关于面试总结3-SQL查询

    前言 select top n 形式的语句可以获取查询的前几个记录,但是 mysql没有此语法,mysql用limit来实现相关功能. LIMIT子句可以被用于强制 SELECT 语句返回指定的记录数 ...

  2. IOS应用提交所需的ICON

    如果提交的ipa包中,未包含必要的Icon就会收到类似的通知,为什么偏偏是Icon-76呢? 因为我们开发的游戏,默认是支持iphone以及ipad的,根据官方提供的参考 Icon-76.png是必须 ...

  3. 华硕 RT-AC54U路由器固件功能说明

    引言 华硕 RT-AC54U这款路由器固件,界面做的非常不错(起码比OpenWrt要好看).功能也比較强悍,可是对于刚入手这个固件的用户可能会对此固件的一些非常好用的功能无从下手,所以这里我就写下了这 ...

  4. Distinct Subsequences leetcode java

    题目: Given a string S and a string T, count the number of distinct subsequences of T in S. A subseque ...

  5. jQuery中的编程范式

    浏览器前端编程的面貌自2005年以来已经发生了深刻的变化,这并不简单的意味着出现了大量功能丰富的基础库,使得我们可以更加方便的编写业务代码,更重要的是我们看待前端技术的观念发生了重大转变,明确意识到了 ...

  6. MFC中查找替换对话框CFindReplaceDialog类

    void CCFindReplaceDialogView::OnFind() { CFindReplaceDialog* pDlg = new CFindReplaceDialog(); pDlg-& ...

  7. 大数据开发实战:Hadoop数据仓库开发实战

    1.Hadoop数据仓库架构设计 如上图. ODS(Operation Data Store)层:ODS层通常也被称为准备区(Staging area),它们是后续数据仓库层(即基于Kimball维度 ...

  8. Pycharm安装详细教程

    今天小编给大家分享如何在本机上下载和安装Pycharm,具体的教程如下: 1.首先去Pycharm官网,或者直接输入网址:http://www.jetbrains.com/pycharm/downlo ...

  9. NLP领域的ImageNet时代到来:词嵌入「已死」,语言模型当立

    http://3g.163.com/all/article/DM995J240511AQHO.html 选自the Gradient 作者:Sebastian Ruder 机器之心编译 计算机视觉领域 ...

  10. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十八):kafka0.10.1 内置性能测试API用法示例

    消费者测试: ./kafka-consumer-perf-test..com.cn:,vm10..com.cn:,vm10..com.cn: --group test-teg1 --messages ...