亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? perl11.htm

?? PERL5中文教程
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb_2312-80">
<title>Perl之文件系統</title>
<LINK rel="stylesheet" href="article.css" type="text/css">
</head>
<body>
<br>
<p align="center"><strong>第十一章&nbsp;&nbsp;文件系統</strong></p>

<p align="center"><a target="_blank" href="http://flamephoenix.126.com">by flamephoenix</a></p>

<a href="#1">一、文件輸入/輸出函數</a><br>
 &nbsp; <a href="#1.1">1、基本I/O函數</a><br>
 &nbsp;  &nbsp; <a href="#1.1.1">1)open函數</a><br>
 &nbsp;  &nbsp; <a href="#1.1.2">2)用open重定向輸入</a><br>
 &nbsp;  &nbsp; <a href="#1.1.3">3)文件重定向</a><br>
 &nbsp;  &nbsp; <a href="#1.1.4">4)指定讀寫權限</a><br>
 &nbsp;  &nbsp; <a href="#1.1.5">5)close函數</a><br>
 &nbsp;  &nbsp; <a href="#1.1.6">6)print, printf和write函數     </a><br>
 &nbsp;  &nbsp; <a href="#1.1.7">7)select函數</a><br>
 &nbsp;  &nbsp; <a href="#1.1.8">8)eof函數</a><br>
 &nbsp;  &nbsp; <a href="#1.1.9">9)間接文件變量</a><br>
 &nbsp; <a href="#1.2">2、跳過和重讀數據</a><br>
 &nbsp; <a href="#1.3">3、系統讀寫函數</a><br>
 &nbsp; <a href="#1.4">4、用getc讀取字符</a><br>
 &nbsp; <a href="#1.5">5、用binmode讀取二進制文件</a><br>
<a href="#2">二、目錄處理函數</a><br>
 &nbsp; <a href="#2.1">1、mkdir</a><br>
 &nbsp; <a href="#2.2">2、chdir</a><br>
 &nbsp; <a href="#2.3">3、opendir</a><br>
 &nbsp; <a href="#2.4">4、closedir</a><br>
 &nbsp; <a href="#2.5">5、readdir</a><br>
 &nbsp; <a href="#2.6">6、telldir</a><br>
 &nbsp; <a href="#2.7">7、seekdir</a><br>
 &nbsp; <a href="#2.8">8、rewinddir</a><br>
 &nbsp; <a href="#2.9">9、rmdir</a><br>
<a href="#3">三、文件屬性函數</a><br>
 &nbsp; <a href="#3.1">1、文件重定位函數</a><br>
 &nbsp; <a href="#3.2">2、鏈接和符號鏈接函數</a><br>
 &nbsp; <a href="#3.3">3、文件許可權函數</a><br>
 &nbsp; <a href="#3.4">4、其他屬性函數</a><br>
<a href="#4">四、使用DBM文件</a><br>

<br>
&nbsp;&nbsp;&nbsp;&nbsp;本章所講的函數多數使用了UNIX操作系統的特性,在非UNIX系統中,一些函數可能沒有定義或有不同的工作方式,使用時請查看Perl聯機文檔。<br>
<a name="1">一、文件輸入/輸出函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;本節講述從文件中讀取信息和向文件寫入信息的內置庫函數。<br>
<a name="1.1">1、基本I/O函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;一些I/O函數在前面的章節中已有講述,如<br>
<blockquote>
<li>open:允許程序訪問文件</li>
<li>close:終止文件訪問</li>
<li>print:文件寫入字符串</li>
<li>write:向文件寫入格式化信息</li>
<li>printf:格式化字符串并輸出到文件</li>
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;這里簡單回顧一下,再講一些前面未提到的函數。<br>
<a name="1.1.1">1)open函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;open函數將文件變量與某文件聯系起來,提供訪問文件的接口,例如:open(MYVAR, "/u/file"); 如果文件打開成功,則返回非零值,否則返回零。缺省地,open打開文件用以讀取其內容,若想打開文件以寫入內容,則在文件名前加個大于號:open(MYVAR, ">/u/file"); 向已有的文件末尾添加內容用兩個大于號:open(MYVAR, ">>/u/file"); 若想打開文件作為數據導向的命令,則在命令前加上管道符(|):open(MAIL, "|mail dave");<br>
<a name="1.1.2">2)用open重定向輸入</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;可以把打開的文件句柄用作向程序輸入數據的命令,方法是在命令后加管道符(|),如:<br>
&nbsp;&nbsp;&nbsp;&nbsp;open(CAT, "cat file*|");<br>
&nbsp;&nbsp;&nbsp;&nbsp;對open的調用運行命令cat file* ,此命令創建一個臨時文件,這個文件的內容是所有以file打頭的文件的內容連接而成,此文件看作輸入文件,可用文件變量CAT訪問,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp;$input = <CAT>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;下面的例子使用命令w的輸出來列出當前登錄的所有用戶名。<br>
<blockquote>
1 : #!/usr/local/bin/perl<br>
2 :<br>
3 : open (WOUT, "w|");<br>
4 : $time = &lt;WOUT&gt;;<br>
5 : $time =~ s/^ *//;<br>
6 : $time =~ s/ .*//;<br>
7 : <WOUT>;   # skip headings line<br>
8 : @users = <WOUT>;<br>
9 : close (WOUT);<br>
10: foreach $user (@users) {<br>
11: &nbsp;   $user =~ s/ .*//;<br>
12: }<br>
13: print ("Current time:  $time");<br>
14: print ("Users logged on:\n");<br>
15: $prevuser = "";<br>
16: foreach $user (sort @users) {<br>
17: &nbsp;  if ($user ne $prevuser) {<br>
18: &nbsp; &nbsp;   print ("\t$user");<br>
19: &nbsp; &nbsp;   $prevuser = $user;<br>
20: &nbsp;  }<br>
21: }
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;結果輸出如下:<br>
<blockquote>
Current time: 4:25pm<br>
Users logged on:<br>
 &nbsp; dave<br>
 &nbsp; kilroy<br>
 &nbsp; root<br>
 &nbsp; zarquon
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;w命令列出當前時間、系統負載和登錄的用戶,以及每個用戶的作業時間和當前運行的命令,如:<br>
<blockquote><pre>
  4:25pm  up 1 day,  6:37,  6 users,  load average: 0.79, 0.36, 0.28
User     tty       login@  idle   JCPU   PCPU what
dave     ttyp0     2:26pm           27      3 w
kilroy   ttyp1     9:01am  2:27   1:04     11 -csh
kilroy   ttyp2     9:02am    43   1:46     27 rn
root     ttyp3     4:22pm     2               -csh
zarquon  ttyp4     1:26pm     4     43     16 cc myprog.c
kilroy   ttyp5     9:03am         2:14     48 /usr/games/hack
</pre></blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;上例中從w命令的輸出中取出所需的信息:當前時間和登錄的用戶名。第3行運行w命令,此處對open的調用指定w的輸出用作程序的輸入,用文件變量WOUT來訪問該輸入。第4行讀取第一行信息,即:<br>
&nbsp;&nbsp;&nbsp;&nbsp;4:25pm  up 1 day,  6:37,  6 users,  load average: 0.79, 0.36, 0.28<br>
&nbsp;&nbsp;&nbsp;&nbsp;接下來的兩行從這行中抽取出時間。首先,第5行刪除起始的空格,然后第6行刪去除時間和結尾換行符之間的所有字符,存入變量$time。<br>
&nbsp;&nbsp;&nbsp;&nbsp;第7行從WOUT讀取第二行,這行中無有用信息,故不作處理。第8行把剩下的行賦給數組@users,然后第9行關閉WOUT,終止運行w命令的進程。<br>
&nbsp;&nbsp;&nbsp;&nbsp;@users中的每個元素都是一行用戶信息,因為本程序只需要每行的第一個單詞,即用戶名,故10~12行去掉除換行符外的其它字符,這一循環結束后,@users中只剩下用戶名的列表。<br>
&nbsp;&nbsp;&nbsp;&nbsp;第13行輸出存貯在$time中的時間,注意這時print不需要加上換行符,因為$time中有。16~21行對@users中的用戶名排序并輸出。因為同一個用戶可以多次登錄,所以用$preuser存貯輸出的最后一個用戶名,下次輸出數組元素$user時,如果其與$preser相等,則不輸出。<br>
<a name="1.1.3">3)文件重定向</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;許多UNIX shell可以把標準輸出文件(STDOUT)和標準錯誤文件(STDERR)都重定向到同一個文件,例如在Bourne Shell(sh)中,命令<br>
&nbsp;&nbsp;&nbsp;&nbsp;$ foo &gt; file1 2&gt;&amp;1<br>
&nbsp;&nbsp;&nbsp;&nbsp;運行命令foo并把輸出到標準輸出文件和標準錯誤文件的內容存貯到文件file1中。下面是用Perl實現這一功能的例子:<br>
<blockquote>
1:  #!/usr/local/bin/perl<br>
2:  <br>
3:  open (STDOUT, "&gt;file1") || die ("open STDOUT failed");<br>
4:  open (STDERR, "&gt;&STDOUT") || die ("open STDERR failed");<br>
5:  print STDOUT ("line 1\n");<br>
6:  print STDERR ("line 2\n");<br>
7:  close (STDOUT);<br>
8:  close (STDERR);
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;運行后,文件file1中的內容為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; line 2<br>
&nbsp;&nbsp;&nbsp;&nbsp; line 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;可以看到,這兩行并未按我們想象的順序存貯,為什么呢?我們來分析一下這段程序。<br>
&nbsp;&nbsp;&nbsp;&nbsp;第3行重定向標準輸出文件,方法是打開文件file1將它與文件變量STDOUT關聯,這也關閉了標準輸出文件。第4行重定向標準錯誤文件,參數&gt;&amp;STDOUT告訴Perl解釋器使用已打開并與STDOUT關聯的文件,即文件變量STDERR指向與STDOUT相同的文件。第5、6行分別向STDOUT和STDERR寫入數據,因為這兩個文件變量指向同一個文件,故兩行字符串均寫到文件file1中,但順序卻是錯誤的,怎么回事呢?<br>
&nbsp;&nbsp;&nbsp;&nbsp;問題在于UNIX對輸出的處理上。當使用print(或其它函數)寫入STDOUT等文件時,UNIX操作系統真正所做的是把數據拷貝到一片特殊的內存即緩沖區中,接下來的輸出操作繼續寫入緩沖區直到寫滿,當緩沖區滿了,就把全部數據實際輸出。象這樣先寫入緩沖區再把整個緩沖區的內容輸出比每次都實際輸出所花費的時間要少得多,因為一般來說,I/O比內存操作慢得多。<br>
&nbsp;&nbsp;&nbsp;&nbsp;程序結束時,任何非空的緩沖區都被輸出,然而,系統為STDOUT和STDERR分別維護一片緩沖區,并且先輸出STDERR的內容,因此存貯在STDERR的緩沖區中的內容line 2出現在存貯在STDOUT的緩沖區中的內容line 1之前。<br>
&nbsp;&nbsp;&nbsp;&nbsp;為了解決這個問題,可以告訴Perl解釋器不對文件使用緩沖,方法為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; 1、用select函數選擇文件<br>
&nbsp;&nbsp;&nbsp;&nbsp; 2、把值1賦給系統變量$|<br>
&nbsp;&nbsp;&nbsp;&nbsp;系統變量$|指定文件是否進行緩沖而不管其是否應該使用緩沖。如果$|為非零值則不使用緩沖。$|與系統變量$~和$^協同工作,當未調用select函數時,$|影響當前缺省文件。下例保證了輸出的次序:<br>
<blockquote>
1 :  #!/usr/local/bin/perl<br>
2 :  <br>
3 :  open (STDOUT, "&gt;file1") || die ("open STDOUT failed");<br>
4 :  open (STDERR, "&gt;&amp;STDOUT") || die ("open STDERR failed");<br>
5 :  $| = 1;<br>
6 :  select (STDERR);<br>
7 :  $| = 1;<br>
8 :  print STDOUT ("line 1\n");<br>
9 :  print STDERR ("line 2\n");<br>
10: close (STDOUT);<br>
11: close (STDERR);
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;程序運行后,文件file1中內容為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; line 1<br>
&nbsp;&nbsp;&nbsp;&nbsp; line 2<br>
&nbsp;&nbsp;&nbsp;&nbsp;第5行將$|賦成1,告訴Perl解釋器當前缺省文件不進行緩沖,因為未調用select,當前的缺省文件為重定向到文件file1的STDOUT。第6行將當前缺省文件設為STDERR,第7行又設置$|為1,關掉了重定向到file1的標準錯誤文件的緩沖。由于STDOUT和STDERR的緩沖均被關掉,向其的輸出立刻被寫到文件中,因此line 1出現在第一行。<br>
<a name="1.1.4">4)指定讀寫權限</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;打開一個既可讀又可寫的文件方法是在文件名前加上"+&gt;",如下:<br>
&nbsp;&nbsp;&nbsp;&nbsp; open (READWRITE, "+>file1");<br>
&nbsp;&nbsp;&nbsp;&nbsp;此語句打開既可讀又可寫的文件file1,即可以重寫其中的內容。文件讀寫操作最好與庫函數seek和tell一起使用,這樣可以跳到文件任何一點。<br>
&nbsp;&nbsp;&nbsp;&nbsp;注:也可用前綴"+<"指定可讀寫權限。<br>
<a name="1.1.5">5)close函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;用于關閉打開的文件。當用close關閉管道,即重定向的命令時,程序等待重定向的命令結束,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; open (MYPIPE, "cat file*|");<br>
&nbsp;&nbsp;&nbsp;&nbsp; close (MYPIPE);<br>
&nbsp;&nbsp;&nbsp;&nbsp;當關閉此文件變量時,程序暫停運行,直到命令cat file*運行完畢。<br>
<a name="1.1.6">6)print, printf和write函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;print是這三個函數中最簡單的,它向指定的文件輸出,如果未指定,則輸出到當前缺省文件中,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; print ("Hello, there!\n");<br>
&nbsp;&nbsp;&nbsp;&nbsp; print OUTFILE ("Hello, there!\n");<br>
&nbsp;&nbsp;&nbsp;&nbsp;第一句輸出到當前缺省文件中,若未調用select,則為STDOUT。第二句輸出到由文件變量OUTFILE指定的文件中。<br>
&nbsp;&nbsp;&nbsp;&nbsp;printf函數先格式化字符串再輸出到指定文件或當前缺省文件中,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; printf OUTFILE (“You owe me %8.2f", $owing);<br>
&nbsp;&nbsp;&nbsp;&nbsp;此語句取出變量$owing的值并替換掉串中的%8.2f,%8.2f是域格式的例子,把$owing的值看作浮點數。<br>
&nbsp;&nbsp;&nbsp;&nbsp;write函數使用輸出格式把信息輸出到文件中,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; select (OUTFILE);<br>
&nbsp;&nbsp;&nbsp;&nbsp; $~ = "MYFORMAT";<br>
&nbsp;&nbsp;&nbsp;&nbsp; write;<br>
&nbsp;&nbsp;&nbsp;&nbsp;關于printf和write,詳見《第x章 格式化輸出》。<br>
<a name="1.1.7">7)select函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;select函數將通過參數傳遞的文件變量指定為新的當前缺省文件,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; select (MYFILE);<br>
&nbsp;&nbsp;&nbsp;&nbsp;這樣,MYFILE就成了當前缺省文件,當對print、write和printf的調用未指定文件時,就輸出到MYFILE中。<br>
<a name="1.1.8">8)eof函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;eof函數查看最后一次讀文件操作是否為文件最后一個記錄,如果是,則返回非零值,如果文件還有內容,返回零。<br>
&nbsp;&nbsp;&nbsp;&nbsp;一般情況下,對eof的調用不加括號,因為eof和eof()是等效的,但與&lt;&gt;操作符一起使用時,eof和eof()就不同了。現在我們來創建兩個文件,分別叫做file1和file2。file1的內容為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; This is a line from the first file.<br>
&nbsp;&nbsp;&nbsp;&nbsp; Here is the last line of the first file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;file2的內容為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; This is a line from the second and last file.<br>
&nbsp;&nbsp;&nbsp;&nbsp; Here is the last line of the last file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;下面就來看一下eof和eof()的區別,第一個程序為:<br>
<blockquote>
1:  #!/usr/local/bin/perl<br>
2:  <br>
3:  while ($line = &lt;&gt;) {<br>
4: &nbsp;   print ($line);<br>
5: &nbsp;   if (eof) {<br>
6: &nbsp; &nbsp;    print ("-- end of current file --\n");<br>
7: &nbsp;   }<br>
8:  }
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;運行結果如下:<br>
<blockquote>
$ program file1 file2<br>
This is a line from the first file.<br>
Here is the last line of the first file.<br>
-- end of current file --<br>
This is a line from the second and last file.<br>
Here is the last line of the last file.<br>
-- end of current file --<br>
$
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;下面把eof改為eof(),第二個程序為:<br>
<blockquote>
1:  #!/usr/local/bin/perl<br>
2:  <br>
3:  while ($line = &lt;&gt;) {<br>
4:  &nbsp;  print ($line);<br>
5:  &nbsp;  if (eof()) {<br>
6:  &nbsp; &nbsp;   print ("-- end of output --\n");<br>
7:  &nbsp;  }<br>
8:  }
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;運行結果如下:<br>
<blockquote>
$ program file1 file2<br>
This is a line from the first file.<br>
Here is the last line of the first file.<br>
This is a line from the second and last file.<br>
Here is the last line of the last file.<br>
-- end of output --$
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;這時,只有所有文件都讀過了,eof()才返回真,如果只是多個文件中前幾個的末尾,返回值為假,因為還有要讀取的輸入。<br>
<a name="1.1.9">9)間接文件變量</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;對于上述各函數open, close, print, printf, write, select和eof,都可以用簡單變量來代替文件變量,這時,簡單變量中所存貯的字符串就被看作文件變量名,下面就是這樣一個例子,此例很簡單,就不解釋了。需要指出的是,函數open, close, write, select和eof還允許用表達式來替代文件變量,表達式的值必須是字符串,被用作文件變量名。<br>
<blockquote>
1:  #!/usr/local/bin/perl<br>
2:  <br>
3:  &amp;open_file("INFILE", "", "file1");<br>
4:  &amp;open_file("OUTFILE", "&gt;", "file2");<br>
5:  while ($line = &amp;read_from_file("INFILE")) {<br>
6:  &nbsp;  &amp;print_to_file("OUTFILE", $line);<br>
7:  }<br>
8:  <br>
9:  sub open_file {<br>
10: &nbsp;  local ($filevar, $filemode, $filename) = @_;<br>
11: <br>
12: &nbsp;  open ($filevar, $filemode . $filename) ||<br>
13: &nbsp; &nbsp;   die ("Can't open $filename");<br>
14: }<br>
15: sub read_from_file {<br>
16: &nbsp;  local ($filevar) = @_;<br>
17: <br>
18: &nbsp;  &lt;$filevar&gt;;<br>
19: }<br>
20: sub print_to_file {<br>
21: &nbsp;  local ($filevar, $line) = @_;<br>
22: <br>
23: &nbsp;  print $filevar ($line);<br>
24: }
</blockquote>
<a name="1.2">2、跳過和重讀數據</a><br>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函數名</td>
        <td>seek</td>
    </tr>
    <tr>
        <td>調用語法</td>
        <td>seek (filevar, distance, relative_to);</td>
    </tr>
    <tr>
        <td>解說</td>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜电影小说| 欧美在线你懂的| 色吧成人激情小说| 久久影音资源网| 亚洲一区二区三区在线播放| 久久se这里有精品| 欧美三级中文字幕| 国产精品久久久久影院色老大| 日本欧美一区二区三区| 91在线精品一区二区| 精品少妇一区二区三区免费观看 | 欧美videos大乳护士334| 亚洲欧美一区二区久久| 国产一区二区三区日韩| 欧美一区二区在线不卡| 亚洲一区二区欧美| 在线观看中文字幕不卡| 综合久久久久久| 成人av一区二区三区| 国产亚洲欧美一级| 国内精品第一页| 久久综合久色欧美综合狠狠| 日本vs亚洲vs韩国一区三区| 欧美午夜在线一二页| 亚洲免费观看高清完整版在线观看| 高清视频一区二区| 久久久久久久综合| 国产九色sp调教91| 日韩欧美在线综合网| 婷婷亚洲久悠悠色悠在线播放| 欧美在线三级电影| 亚瑟在线精品视频| 欧美精品久久99| 蜜臀av一区二区在线免费观看| 91精品国产丝袜白色高跟鞋| 日韩激情一区二区| 日韩视频永久免费| 精品一区二区免费在线观看| 久久色.com| 丁香婷婷综合五月| 中文字幕亚洲视频| 91久久人澡人人添人人爽欧美 | 亚洲成人资源在线| 69成人精品免费视频| 久久97超碰色| 国产亚洲成年网址在线观看| 不卡影院免费观看| 亚洲激情av在线| 欧美一区二区视频免费观看| 韩国中文字幕2020精品| 国产精品伦理在线| 欧美在线观看一二区| 日本三级亚洲精品| 国产欧美日韩视频一区二区| av在线不卡电影| 亚洲综合小说图片| 日韩精品最新网址| av在线不卡免费看| 日韩激情一二三区| 国产欧美一区二区精品秋霞影院| 91香蕉视频黄| 午夜精品aaa| 欧美极品少妇xxxxⅹ高跟鞋 | 国产91在线看| 一区二区三区在线视频免费 | 精品影视av免费| 国产精品福利一区二区三区| 欧美吻胸吃奶大尺度电影| 久久99热这里只有精品| 中文字幕一区二区三区四区不卡 | 99久久精品一区二区| 水蜜桃久久夜色精品一区的特点| 久久精品欧美一区二区三区麻豆| 91视频免费观看| 久久超级碰视频| 亚洲欧美日韩国产另类专区| 日韩一区二区三区视频在线观看 | 91麻豆123| 经典三级视频一区| 一区二区三区不卡视频| 精品999在线播放| 欧美吻胸吃奶大尺度电影| 高清国产一区二区| 日韩电影在线观看电影| 日韩理论在线观看| 久久夜色精品国产噜噜av| 欧美高清dvd| 色噜噜偷拍精品综合在线| 国产伦精品一区二区三区免费| 亚洲一线二线三线久久久| 国产精品久久久久久久浪潮网站| 日韩午夜在线影院| 欧美三区在线视频| 色综合久久久久综合99| 成人网在线免费视频| 久久99国产精品久久| 日韩高清电影一区| 亚洲资源中文字幕| 亚洲美女视频在线| 国产精品家庭影院| 国产日产欧产精品推荐色 | 欧美日韩视频在线观看一区二区三区| 国产老肥熟一区二区三区| 开心九九激情九九欧美日韩精美视频电影 | 奇米在线7777在线精品| 亚洲高清免费一级二级三级| 亚洲美腿欧美偷拍| 亚洲日穴在线视频| 亚洲四区在线观看| 国产精品美女视频| 国产精品第四页| 国产精品久久三| 亚洲欧美一区二区在线观看| 中文字幕av一区二区三区高| 国产欧美日韩三级| 中文字幕一区二区三区不卡| 国产精品的网站| 亚洲欧美日韩一区| 一区二区三区四区中文字幕| 亚洲美女免费视频| 一区二区三区av电影| 一区二区三区精品视频在线| 亚洲免费成人av| 亚洲成人动漫在线观看| 亚洲图片欧美视频| 日av在线不卡| 激情综合色播激情啊| 国产精品99久久久久久久女警| 久久国产精品72免费观看| 国产经典欧美精品| www.亚洲精品| 欧美午夜在线一二页| 日韩三级免费观看| 久久精品一区二区三区av| 国产精品色噜噜| 亚洲一区二区三区视频在线播放 | 国产盗摄精品一区二区三区在线| 国产成人综合视频| 色综合天天做天天爱| 欧美日韩国产综合视频在线观看 | 国产盗摄一区二区三区| 色综合夜色一区| 欧美一级精品在线| 欧美国产综合色视频| 亚洲综合一区在线| 久久99热国产| 色婷婷综合激情| 欧美一级二级三级乱码| 久久精品欧美日韩精品| 亚洲精品福利视频网站| 人禽交欧美网站| 国产91色综合久久免费分享| 色婷婷久久久久swag精品| 日韩一区二区三区免费观看| 国产精品天干天干在线综合| 午夜视频一区在线观看| 国产成人激情av| 精品视频免费在线| 国产日韩欧美电影| 日韩有码一区二区三区| 99久久精品国产网站| 日韩精品一区二区三区在线播放 | 韩国三级在线一区| 91久久精品一区二区三区| 久久久久久免费毛片精品| 亚洲国产日韩综合久久精品| 国产精品99久久久久久似苏梦涵 | 欧美亚洲日本一区| 久久久天堂av| 午夜精品久久久久久久久久久| 成人av先锋影音| 久久中文娱乐网| 午夜不卡av免费| 91久久线看在观草草青青| 中文字幕乱码日本亚洲一区二区| 蜜桃一区二区三区四区| 欧美亚洲自拍偷拍| 亚洲欧美日韩国产一区二区三区| 国产成人精品综合在线观看 | 久久只精品国产| 视频一区在线视频| 日本韩国欧美国产| 中文字幕日韩一区| 成人深夜福利app| 久久综合资源网| 开心九九激情九九欧美日韩精美视频电影| 一本一本大道香蕉久在线精品| 中文在线一区二区| 国产成人综合网站| 91精品国产一区二区人妖| 亚洲最快最全在线视频| 一道本成人在线| 亚洲人成精品久久久久| 91亚洲国产成人精品一区二区三| 国产欧美va欧美不卡在线| 国产成人午夜精品5599| 国产精品久久三区| 99精品视频在线播放观看| 国产精品超碰97尤物18| av电影天堂一区二区在线观看|